Технологическая платформа "Мельница Данных"

Мельница данных (23.04.2022)
(одним файлом)
Технологическая платформа "Мельница Данных"
Документация online
Мельница Данных

Документация по технологической платформе.
  • Руководство пользователя обозревателя данных
  • Руководство пользователя построителя запросов
  • Руководство администратора
  • Руководство разработчика на платформе
  • Руководство разработчика для построителя запросов


Руководство пользователя обозревателя данных

(раздел целиком) (одним файлом)
Руководство пользователя обозревателя данных
  • Запуск обозревателя данных
  • Элементы интерфейса пользователя
  • Работа с формами и таблицами данных
  • Работа с Инспектором объектов
  • Работа с формой задания параметров
  • Формирование отчетов Microsoft Excel
  • Формирование отчетов в виде HTML-документов
  • Взаимодействие с разработчиком в случае ошибок, проблем, вопросов по работе системы


Запуск обозревателя данных

(одним файлом)
Запуск обозревателя данных

Для начала работы необходимо запустить исполняемый файл DataBrowser.exe. Это можно сделать посредством ярлыка, создаваемого инсталлятором Системы:

Ярлык обозревателя данных

При его запуске отобразится окно входа в систему:

Окно логина обозревателя данных

Для запуска системы необходимо заполнить поля формы входа в систему, после чего нажать кнопку ОК или клавишу Enter на клавиатуре. Если система ранее запускалась на Вашем локальном компьютере, то поля формы (за исключением поля Пароль) будут заполнены данными, введенными в прошлый раз. Если система на компьютере запускается впервые, то при открытии формы ее поля будут пустыми. Для заполнения полей формы необходимо знать, на каком типе сервера БД работает система, имя базы данных, с которой предстоит работать, имя пользователя и пароль. Если Вы не располагаете такой информацией, узнайте ее у администратора системы.

  • Источник данных - в этом поле из выпадающего списка выберите тип сервера баз данных, на котором функционирует система; возможен выбор из трех вариантов:
    • если система работает на сервере Interbase (Firebird), выберите пункт Interbase/FireBird Server;
    • если система работает на сервере Oracle, выберите пункт Oracle Database Server;
    • если система работает на сервере MSSQL, выберите пункт Microsoft SQL Server.
  • База данных - в этом поле необходимо указать имя базы данных.
  • Имя пользователя - в этом поле введите Ваше имя пользователя (логин).
  • Пароль - в это поле введите Ваш пароль.
Для удобства последующего запуска системы Вы можете воспользоваться флажками "Сохранить пароль" и "Входить автоматически".
  • Сохранить пароль - если установить этот флажок, то Ваш пароль будет запомнен и подставлен в поле Пароль при следующем запуске системы. В связи с тем, что информация о вводимом Вами пароле будет сохранена на Вашем локальном компьютере, пользоваться этим флажком рекомендуется только в том случае, если возможность несанкционированного доступа к Вашему компьютеру исключена.
  • Входить автоматически - этот флажок доступен только при установленном флажке "Сохранить пароль". Если установить этот флажок, то при следующем входе в систему Вам не придется заполнять поля формы и нажимать кнопку OK или клавишу Enter. Форма покажется на некоторое время, после чего произойдет автоматический вход в систему.

Если Вы установили флажок "Входить автоматически", но хотите изменить ранее введенную в поля информацию, необходимо выполнить щелчок мышью (здесь и далее "щелчок мышью" означает щелчок ЛЕВОЙ кнопкой мыши. Если необходим щелчок ПРАВОЙ кнопкой мыши, то будет указано "щелчок правой кнопкой мыши") на форме во время ее показа. После этого можно будет изменить ранее установленные в полях значения.


Элементы интерфейса пользователя

(одним файлом)
Элементы интерфейса пользователя

При входе в систему на экране отобразиться ее главное окно. Макет главного окна системы:

Макет главного окна обозревателя данных

В заголовке главного окна системы отображается имя запущенного приложения (Databrowser.exe), имя пользователя (sysdba) и имя базы данных (C:\project\databases\icecream.fdb). Интерфейс состоит из трех основных элементов:

  1. В верхней части экрана расположена Панель инструментов. На ней расположены иконки, соответствующие доступным в настоящее время действиям, а также доступным для текущего пользователя формам.
  2. В левой части экрана расположен Инспектор объектов, позволяющий просматривать и редактировать свойства объектов, выбранных в таблицах данных.
  3. Основную часть экрана занимают Формы с Таблицами данных. Таблицы данных используются для просмотра и редактирования объектов, учитываемых в системе.


Работа с формами и таблицами данных

(раздел целиком) (одним файлом)
Работа с формами и таблицами данных

Для отображения записей об учитываемых в системе объектах используются формы с таблицами данных. Каждая форма представляет собой отдельное окно с заголовком, на котором отображается ее наименование. Основную часть окна формы занимают таблицы данных. Переключаться между доступными формами можно либо при помощи щелчка мышью по иконке, соответствующей форме на Панели инструментов, либо при щелчке мышью на самом окне формы (если форма видна). В каждый момент времени активной является одна из форм (или ни одной). Окно формы можно "перетаскивать" (здесь и далее "перетащить" объект означает подвести к нему указатель мыши, нажать левую кнопку, удерживая кнопку переместить объект на новое место, после чего отпустить кнопку мыши) по экрану за заголовок, изменять его размеры, минимизировать, восстановить, раскрывать на весь экран или закрывать. Эти действия осуществляются стандартным для среды Windows образом. При закрытии формы соответствующая ей иконка на панели инструментов будет отображена неактивной. При щелчке мышью по такой иконке форма откроется, и иконка станет активной.

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

  • Подчиненные таблицы данных и взаимное расположение главной и подчиненных таблиц
  • Отображение учитываемых объектов в таблице данных
  • Выбор объектов в таблице данных
  • Изменение порядка отображения колонок
  • Скрытие и отображение колонок
  • Сортировка данных в таблицах
  • Группировка данных в таблицах
  • Фильтрация данных в таблицах
  • Отображение итоговых значений (агрегатов) по колонкам
  • Редактирование данных в таблице
  • Выполнение действий над объектами
  • Работа с панелью инструментов
  • Стандартные действия, доступные в любых таблицах данных


Подчиненные таблицы данных и взаимное расположение главной и подчиненных таблиц

(одним файлом)
Подчиненные таблицы данных и взаимное расположение главной и подчиненных таблиц

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

Например, на рисунке в главной таблице "Представительства" выбрано представительство ООО "Холод плюс". При этом в подчиненной таблице "Продажи представительства" отображаются только те продажи, которые осуществлены данным представительством.

Подчиненные таблицы могут располагаться двумя способами:

  • на закладках - в этом случае в нижней части главной таблицы отображаются закладки с наименованиями подчиненных таблиц; переключаться между подчиненными таблицами можно путем щелчка мышью по соответствующей закладке;
    Отображение подчиненных таблиц на закладках
  • в отдельных окнах - в этом случае каждая из подчиненных таблиц располагается в своем окне; окна имеют заголовки, соответствующие наименованиям таблиц; окна, в которых отображаются подчиненные таблицы, можно перетаскивать за заголовок в любое другое место экрана, минимизировать, восстанавливать, закрывать и т.д.
    Отображение подчиненных представлений в отдельных окнах

Изменять соотношение размера главной и подчиненных таблиц можно путем перетаскивания горизонтального разделителя мышью. Для этого необходимо подвести указатель мыши к границе раздела зон главной и подчиненных таблиц и когда курсор примет форму горизонтального разделителя ( Горизонтальный разделитель) перетащить разделитель выше или ниже. При отображении подчиненных таблиц в отдельных окнах можно изменять соотношение ширины подчиненных таблиц. Для этого нужно подвести указатель мыши к вертикальной границе таблиц и когда указатель примет форму вертикального разделителя ( Вертикальный разделитель), перетащить разделитель вправо или влево.

При отображении подчиненных таблиц на закладках занимаемая ими область также может быть минимизирована. Для этого необходимо подвести курсор к границе раздела зон главной и подчиненной таблиц и когда он примет форму горизонтального разделителя ( Горизонтальный разделитель) выполнить двойной щелчок мышью.

Минимизация зоны подчиненных таблиц

Восстановить отображение подчиненных таблиц можно либо путем нажатия кнопки "Восстановить" ( Кнопка восстановления размеров зоны подчиненных таблиц) в заголовке минимизированного окна, либо при помощи двойного щелчка мышью на этом заголовке.


Отображение учитываемых объектов в таблице данных

(раздел целиком) (одним файлом)
Отображение учитываемых объектов в таблице данных

Таблица данных имеет строки и колонки. Строки таблицы (или записи) соответствуют учитываемым объектам. Колонки таблицы соответствуют свойствам объектов.

Макет таблицы данных

На рисунке представлен макет таблицы данных, в которой отображаются объекты, соответствующие сортам фруктового мороженого. Таблица данных имеет наименование "Сорта фруктового мороженого", которое отображается на соответствующей закладке (1). Таблица имеет пять строк (2), соответствующих пяти сортам фруктового мороженого. Выделенной в настоящее время является первая строка. Таблица имеет пять колонок, соответствующих свойствам учитываемых сортов мороженого. Каждая колонка имеет заголовок (4), отражающий отображаемое в этой колонке свойство. Активной в настоящее время является первая колонка. Активным элементом данных (3) является ячейка, расположенная в первой строке в первом столбце.

На рисунке активная строка и активный элемент данных выделяются оттенками синего цвета. Цвета, применяемые для выделения элементов данных, зависят от локальных настроек операционной системы Windows (стилей) на компьютере пользователя.

Под заголовком каждой колонки расположена строка фильтра (5). При помощи ввода в этой строке условия отбора или выбора значений из выпадающего списка можно осуществлять фильтрацию отображаемых в таблице данных.

Если отображаемые данные не помещаются в окно по ширине, то активной становится горизонтальная полоса прокрутки (7). С ее помощью можно пролистывать колонки таблицы вправо и влево. Если данные не помещаются в окно по вертикали, то активной становится вертикальная полоса прокрутки (8). С ее помощью можно пролистывать записи об объектах вверх и вниз. При щелчке правой кнопкой мыши на полосе прокрутки (если она активна) доступны действия по быстрой прокрутке содержимого таблицы.

При щелчке правой кнопкой мыши в области таблицы данных отображается контекстное меню. Контекстное меню отображает список действий, доступных над объектами, отображаемыми в таблице данных. Вызываемые действия выполняются для тех объектов, которые являются выделенными в таблице данных. Если ни одного объекта не выделено, некоторые действия контекстного меню могут быть недоступны. Набор действий, отображаемых в контекстном меню различен в разных таблицах данных.

  1. Заголовок закладки с именем таблицы данных.
  2. Выделенный объект.
  3. Выделенный элемент данных.
  4. Заголовок колонки.
  5. Строка фильтра.
  6. Флажок для выбора объектов.
  7. Горизонтальная полоса прокрутки.
  8. Вертикальная полоса прокрутки
  • Иерархические таблицы данных


Иерархические таблицы данных

(одним файлом)
Иерархические таблицы данных

Если отображаемые в таблице данные имеют иерархическую структуру (т.е. присутствует "вхождение" одних объектов в другие), то в таблице данных объекты могут отображаться в виде "дерева".

Иерархическая таблица данных

На рисунке представлена таблица данных, отображающая периоды обучения студентов. Эти данные имеют иерархическую структуру, которая отражает вхождение учебных модулей в состав семестров, а семестров в состав учебных годов. В первой колонке иерархической таблицы данных слева от элементов данных, имеющих подчиненные элементы, отображаются значки Свернутый узел дерева или Развернутый узел дерева. При щелчке мышью по значку Свернутый узел дерева отображаются подчиненные объекты. Значок Свернутый узел дерева при этом превращается в значок Развернутый узел дерева. При щелчке мышью по значку Развернутый узел дерева подчиненные объекты скрываются и значок Развернутый узел дерева превращается в Свернутый узел дерева. На рисунке для объектов "Учебный год 2005-2006" и его подчиненных объектов "I семестр" и "II семестр" подчиненные объекты отображены. Щелчком по значку Развернутый узел дерева подчиненные объекты можно скрыть. Для объектов "I семестр" и "II семестр" учебного года 2006-2007 подчиненные объекты скрыты. Щелчком по значку Свернутый узел дерева их можно отобразить. При горизонтальном пролистывании таблицы данных вправо или влево "дерево" объектов всегда отображается слева от самого левого столбца.

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


Выбор объектов в таблице данных

(одним файлом)
Выбор объектов в таблице данных

Выбор одного объекта в таблице данных может осуществляться либо щелчком мышью в соответствующей строке, либо при помощи стрелок ("вверх" и "вниз") на клавиатуре. Выбор активной колонки и активного элемента данных также может производиться щелчком мышью или при помощи стрелок ("вправо" и "влево") на клавиатуре.

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

При выборе нескольких объектов в главной таблице в подчиненной таблице будут отображены записи, соответствующие подчиненным объектам, отобранным для ВСЕХ объектов, выбранных в главной таблице.

Произвольный выбор объектов

На рисунке представлена таблица данных "Учащиеся", имеющая ряд подчиненных таблиц. На рисунке открыта подчиненная таблица "Родственники и контактные лица". В таблице данных "Учащиеся" путем установки флажка произвольным образом выбраны три учащихся с фамилиями Матвеева, Зимогляд и Анчевский. При этом в подчиненной таблице "Родственники и контактные лица" отображены родители всех троих учащихся.

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

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

  • для выделения нескольких объектов подряд можно щелкнуть мышью в любом месте записи, соответствующей первому объекту, а затем, удерживая клавишу Shift, щелкнуть по записи, соответствующей последнему объекту; все объекты между первым и последним, включая их, будут выделены;
  • осуществлять произвольный выбор объектов можно щелчком мышью в любом месте записи, удерживая клавишу Ctrl ;
  • можно воспользоваться действиями, доступными в подменю "Выбранные" на панели инструментов или в контекстном меню:
    • Выбрать все - все отображаемые в настоящий момент в таблице данных объекты будут выбраны;
    • Показать только выбранные - в таблице данных будут отображены только те объекты, которые помечены как выбранные; остальные объекты будут скрыты;
    • Показать все - если ранее было установлен отбор только выбранных объектов, этот отбор будет снят, и снова будут отображены все доступные в таблице объекты.

При выборе объектов изменяется информация, отображаемая Инспектором объектов. Если выбран один объект, то Инспектор объектов отображает и позволяет редактировать все доступные пользователю свойства этого объекта. Если выбрано несколько объектов, отображение и редактирование свойств Инспектором объектов происходит по правилам, описанным в разделе 5 "Работа с Инспектором объектов".

При выполнении действий над объектами выбранное действие будет выполнено для всех выбранных объектов. Если не выбрано ни одного объекта, некоторые действия могут быть недоступны.

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


Изменение порядка отображения колонок

(одним файлом)
Изменение порядка отображения колонок

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

Изменение порядка отображения колонок

На рисунке изображено перетаскивание заголовка колонки "Вид упаковки" в таблице данных "Сорта мороженого". После того, как кнопка мыши будет отпущена, колонка "Вид упаковки" станет третьей слева, а колонка "Число продаж" второй.


Скрытие и отображение колонок

(одним файлом)
Скрытие и отображение колонок

Любая из видимых в таблице данных колонок может быть скрыта. Для этого необходимо выделить любой элемент данных в колонке, щелчком правой кнопкой мыши открыть контекстное меню и в нем в подменю "колонка" выбрать действие "Скрыть эту колонку".

На рисунке показано как скрыть колонку "Вид упаковки" в таблице данных "Сорта мороженого". Описанным выше образом можно скрыть любое число колонок таблицы данных кроме последней. Если в таблице данных осталась одна колонка, то действие "Скрыть эту колонку" будет недоступно. Для отображения скрытых ранее колонок таблицы данных необходимо воспользоваться действием "Показать скрытые колонки" в подменю "колонка" контекстного меню. (На рис. 12. действие располагается ниже действия "Скрыть эту колонку"). Если ни одной колонки таблицы данных не скрыто, то действие "Показать скрытые колонки" будет недоступно. Действия, расположенные в подменю "колонка" доступны также на панели инструментов.


Сортировка данных в таблицах

(одним файлом)
Сортировка данных в таблицах

Отображаемые в таблице данные могут быть отсортированы по возрастанию или по убыванию значений свойств, отображаемых в одной или нескольких колонках. Для сортировки данных по одной колонке необходимо выполнить щелчок мышью не ее заголовке. Данные будут отсортированы по возрастанию значения в этой колонке. Если щелкнуть мышью по заголовку колонки еще раз, то данные будут отсортированы по убыванию значения в этой колонке. В заголовке конке появится стрелочка, отображающая порядок сортировки (направленная вверх в случае сортировки по возрастанию и вниз в случае сортировки по убыванию). Если выполнить щелчок мышью по заголовку другой колонки, то данные будут отсортированы по значению в новой колонке.

Сортировка данных по одной колонке

На рисунке данные в таблице данных "Учащиеся" отсортированы по значению в колонке "Фамилия" по возрастанию. В заголовке колонки "Фамилия" отображается направленная вверх стрелочка. Для сортировки данных по значениям в нескольких колонках необходимо выполнить щелчок мышью на заголовке первой колонки, затем, удерживая клавишу Ctrl, выполнить щелчок по заголовку второй колонки и т.д. При этом в заголовках колонок будут отображаться стрелочки, соответствующие направлению сортировки и цифры, соответствующие порядку колонок в сортировке.

Сортировка данных по нескольким колонкам

На рисунке представлен пример сортировки данных таблицы данных "Учащиеся" по региону (по возрастанию), затем по полу (по убыванию) и затем по фамилии (по возрастанию). В заголовках колонок отображены соответствующие стрелочки с цифрами 1, 2 и 3.

В иерархических таблицах данные сортируются в пределах каждого уровня иерархии.

Сортировка данных в иерархической таблице

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


Группировка данных в таблицах

(одним файлом)
Группировка данных в таблицах

Данные в таблице данных могут быть сгруппированы по значениям свойств, отображаемым в одной или в нескольких колонках.

Для осуществления группировки по значению в одной из колонок необходимо выделить любой элемент данных в этой колонке. Затем щелчком правой кнопки мыши открыть контекстное меню и в нем в подменю "колонка" выбрать действие "Группировать по этой колонке".

Осуществление группировки данных

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

При отображении данных в сгруппированном виде для каждой группы будет отображен заголовок на более темном фоне. В заголовке группы будут отображены наименование и значение свойства, по которому осуществлена группировка, а слева от наименования будет расположен значок Развернутый узел дерева или Свернутый узел дерева. При нажатии на значок Развернутый узел дерева можно скрывать объекты группы (для группы будет отображен только ее заголовок). Значок Развернутый узел дерева при этом изменится на Свернутый узел дерева. При нажатии на значок Свернутый узел дерева объекты, входящие в группу, будут снова отображены.

Отображение данных в сгруппированном виде

На рисунке данные в таблице данных "Все продажи" сгруппированы по значению в колонке "Представительство". Группы объектов, соответствующие представительствам ЗАО "Айс девелопмент", ЗАО "Фрост интернешнл" и ООО "Заморозь соседа", раскрыты. Группы, соответствующие ОАО "Красный нос" и ООО "Дед мороз и лето", свернуты.

Данные могут группироваться и по нескольким колонкам. Для этого необходимо повторить описанные выше действия для всех колонок, которые должны быть включены в группировку.

Группировка данных по нескольким колонкам

На рисунке представлен пример группировки данных, отображаемых в таблице данных "Все продажи" по колонкам "Регион" и "Сорт мороженого".

Для снятия группировки и отображения данных в стандартном виде необходимо воспользоваться действием "Очистить группировку", которое также доступно в контекстном меню в подменю "колонка" (на рисунке расположено в выпадающем меню ниже действия "Группировать по этой колонке").

Действия, расположенные в подменю "колонка", доступны также на панели инструментов.


Фильтрация данных в таблицах

(одним файлом)
Фильтрация данных в таблицах

Фильтрация данных (отображение только тех данных, которые удовлетворяют некоторому условию) осуществляется по значениям, отображаемым в колонках, при помощи строки фильтра. Строка фильтра расположена ниже заголовка колонки. Фильтрация данных может осуществляться двумя способами:

  • путем выбора значения из выпадающего списка, доступного при нажатии кнопки Кнопка выпадающего списка в строке фильтра
  • путем записи условия фильтрации в строке фильтра

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

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

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

Отображение данных в отфильтрованном виде

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

Для фильтрации данных по более сложному условию можно воспользоваться вторым способом - записью условия фильтрации в строке фильтра. Условие фильтрации записывается по следующим правилам:

  1. Строка разделяется на части посредством системного разделителя (системный разделитель устанавливается в настройках операционной системы Windows). Обычно - точка с запятой, ";"
  2. Каждая часть строки интерпретируется самостоятельно, и эти части объединяются логическим "ИЛИ"
  3. При интерпретации каждой части проверяются следующие условия:
    Часть строки | Правило отбора объектов
    * Будут отобраны только те объекты, у которых значение в колонке не является пустым (установлено).
    !* Будут отобраны только те объекты, у которых значение в колонке является пустым (не установлено).
    начинается с символов '<=', '<', '>=', '>' | Будут отобраны только те объекты, у которых значение в колонке удовлетворяет условию.
    включает в себя символы '*' и/или '?' | Будут отобраны только те объекты, у которых значение в колонке удовлетворяет шаблону, в котором знак '?' соответствует одному любому символу, а знак '*' - любому количеству любых символов.
    начинается с символа '!' | Будут отобраны только те объекты, у которых значение в колонке не удовлетворяет условию, переданному оставшейся частью строки (знак '!' означает отрицание).
    представляет собой строку в апострофах (одиночных кавычках) | Содержание строки не анализируется по приведенным выше правилам. Будут отобраны только те объекты, у которых значение данного свойства соответствует строке, заключенной в апострофы.
    любая другая строка | Будут отобраны только те объекты, у которых значение данного свойства соответствует введенной строке (строки чувствительны к регистру).
  4. Условия, указанные в разных колонках, объединяются логическим "И"

После ввода в строке фильтр требуемого условия необходимо нажать клавишу Enter.

Фильтрация данных по сложному условию

В таблице данных "Все продажи" на рисунке отобраны только те записи, для которых верно следующее: Продажи осуществлены в регионе "Москва" или "Тверская область"; при этом наименование проданного сорта мороженого начинается с "Б"; при этом число продаж данного сорта больше 100.

Сделать заключение о том, что отображаемые в таблице данные отфильтрованы, можно по наличию в строке фильтра записи отличной от "(Все)". Снять фильтрацию данных можно одним из двух способов:

  • выбрать в строке фильтра из выпадающего списка пункт "(Все)"
  • удалить все символы, записанные в строке фильтра и нажать клавишу Enter


Отображение итоговых значений (агрегатов) по колонкам

(одним файлом)
Отображение итоговых значений (агрегатов) по колонкам

По любой из колонок таблицы данных может быть рассчитано и отображено итоговое значение (агрегат). В зависимости от типа отображаемого в колонке свойства могут быть вычислены следующие агрегаты:

  • количество объектов (для свойств любых типов)
  • сумма значений (для числовых значений)
  • наименьшее (минимальное) значение (для строковых, числовых, логических значений, перечислений, значений типа даты, времени, даты со временем)
  • наибольшее (максимальное) значение (аналогично наименьшему значению)
  • среднее значение (для числовых значений)

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

Таблица данных с агрегатом по одной из колонок

На рисунке в нижней части таблицы данных отображена строка на светло-желтом фоне, в которой в колонке "Число продаж" показана сумма числа всех продаж, отображаемых в таблице.

Агрегат может быть вычислен и показан по любой из колонок.

Если данные в таблице отфильтрованы, то агрегат будет рассчитан только по тем записям, которые отобраны по условию фильтрации.

Если данные в таблице сгруппированы, то агрегаты будут рассчитаны как для всех отображаемых в таблице данных, так и отдельно для каждой группы.

Отображение агрегатов для сгруппированных данных

На рисунке данные о продажах сгруппированы по региону. Суммы числа продаж и среднее значение выручки отображены как для каждого региона (в строках на ярко-желтом фоне), так и для всех продаж в целом (в строке на светло-желтом фоне внизу таблицы).

Если свернуть группы, то можно просматривать только итоговые значения агрегатов для групп и для всех объектов в целом. Агрегаты при этом будут видны только в случае, если они отображаются правее надписи с именем и значением параметра группировки.

Режим отображения только агрегатов для групп


Редактирование данных в таблице

(одним файлом)
Редактирование данных в таблице

В таблице данных может редактироваться значение одного свойства одного объекта. Для того чтобы изменить отображаемое в таблице данных значение необходимо выделить требуемый элемент данных щелчком мышью или клавишами со стрелками на клавиатуре, после чего перевести элемент данных в режим редактирования. Это можно сделать одним из двух способов:

  • выполнить двойной щелчок мышью на элементе данных
  • при выделенном активном элементе данных нажать клавишу Enter на клавиатуре

После перевода элемента данных в режим редактирования отображаемый в нем текст будет выделен. Текст может быть отображен на белом или на сером фоне. Справа от текста могут появиться кнопки.

Перевод элемента данных в режим редактирования

На рисунке элемент данных в пятой сверху строке в первой колонке (текст "Белоснежка") переведен в режим редактирования.

Отображение элемента данных в режиме редактирования зависит от типа отображаемого свойства, доступности свойства для изменения и допустимости установленного значения.

  1. Редактирование значения "только для чтения"
    Если текст отображается на сером фоне, это означает, что свойство доступно только для чтения. У Вас нет возможности изменять его значение. Такое значение (или его часть) можно выделить и скопировать при помощи сочетания клавиш Ctrl+Ins или Ctrl+C и затем вставить в доступном для ввода значений месте в этом или в любом другом приложении.

  2. Редактирование недопустимого значения
    Если текст отображается на зеленом фоне, это означает, что установленное в данный момент значение недопустимо. Значение считается недопустимым, в одном из следующих случаев:
    • значение, обязательное для заполнения, не установлено
    • для свойства установлено значение, не удовлетворяющее его типу (например, на приведенном выше рисунке для числового свойства установлено значение, включающее буквы). Форматы, допустимые для значений различных типов, соответствуют локальным настройкам операционной системы Windows
    • длина текста для свойства строкового типа превышает максимально допустимую длину
    • введенное значение больше максимально допустимого или меньше минимально допустимого
    • для свойства, предполагающего выбор из списка или из справочника, установлено значение, не соответствующее ни одному из допустимых значений из списка или справочника
    Пока для свойства не будет установлено допустимое значение, применить выполненное изменение не удастся.

  3. Редактирование значения
    Если в режиме редактирования в ячейке отображается обычный текст на белом фоне, то значение свойства доступно для изменения. Редактирование значения производится при помощи клавиш клавиатуры. Выделенное значение или его часть может быть скопирована и вставлена стандартным образом. При редактировании текста обращайте внимание на тип свойства (строковое, числовое, дата и т.п.). Если введенное значение не будет удовлетворять типу, то оно будет считаться недопустимым и станет отображаться на зеленом фоне. Форматы, допустимые для значений различных типов, соответствуют локальным настройкам операционной системы Windows. После изменения значения необходимо нажать клавишу Enter для того, чтобы применить сделанные изменения.
  4. Если слева от текста в ячейке отображается флажок, это означает, что свойство может иметь одно из двух возможных значений. Одно из значений соответствует установленному флажку, другое - снятому. Если для свойства допустимо пустое значение, то в случае его установки флажок будет отображен на сером фоне и справа от него будет отображен текст "(Нет)".
    Редактирование логического значения "истина" Редактирование логического значения "ложь"
    Изменение значения такого свойства производится либо щелчком мыши по флажку, либо путем нажатия клавиши Пробел на клавиатуре.
  5. Редактирование значения в выпадающем списке
    Если справа от текста отображается кнопка с направленной вниз стрелкой, это означает, что значение свойства должно быть выбрано из списка допустимых значений. Изменять такое значение можно двумя способами:

    • Нажать на кнопку Кнопка выпадающего списка, расположенную справа от текста, в открывшемся выпадающем списке выбрать новое значение.

      Выбор значения из таблицы данных

      На рисунке показан выбор значения из выпадающего списка. Если Вы выбираете значение при помощи мыши, то достаточно выполнить щелчок мышью на нужном значении. Для выбора значения при помощи клавиатуры необходимо воспользоваться клавишами-стрелками "вверх" и "вниз", и когда нужное значение будет выделено, нажать клавишу Enter. Если для свойства допустимо пустое значение, то первым элементом выпадающего списка будет элемент "(Нет)". Если список включает больше восьми элементов, то в нем будет доступна вертикальная полоса прокрутки.

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

  6. Редактирование значения с выбором
    Если справа от текста отображается кнопка с тремя точками, это означает, что данное свойство предполагает выбор значения из другой таблицы данных. Изменять такое значение можно двумя способами:

    • Нажать на кнопку Кнопка выбора, расположенную справа от текста; при этом откроется таблица данных, в которой нужно будет выбрать новое значение. В правом нижнем углу этой таблицы данных будут расположены кнопки OK и Отмена. Для выбора значения можно щелкнуть мышью по нужной записи или воспользоваться стрелками на клавиатуре. После выбора нужного значения нажмите кнопку OK. Если Вы не хотите менять ранее установленное значение, нажмите кнопку Отмена.

      Выбор значения из таблицы данных

      На рисунке представлена таблица данных, которая будет отображена для выбора значения свойства, представляющего собой сорт мороженого.

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

  7. Редактирование значения с выбором и выпадающим списком
    Если справа от текста отображаются две кнопки - кнопка со стрелкой и кнопка с тремя точками, то можно как выбирать значение из выпадающего списка, так и выбирать значение из таблицы данных (описано выше). В этом случае так же можно вводить текст, соответствующий допустимому значению с клавиатуры. После ввода значения с клавиатуры необходимо нажать клавишу Enter.

  8. Редактирование большого значения

    Если справа от текста отображены три кнопки, а сам текст представляет собой строку "(Данные)" или строку "(Нет)" это означает, что данное свойство представляет собой большой объект. Большой объект может быть текстом, файлом, содержащим изображение, xml-документ, исходный текст программных модулей или просто любые бинарные данные.

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

    Окно для редактирования большого объекта

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

    Предупреждение окна редактирования большого объекта

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

    Копка Кнопка загрузки из файла позволяет загрузить содержимое большого объекта из файла. При нажатии этой кнопки отобразится стандартный диалог открытия файла Windows, в котором можно выбрать нужный файл, после чего нажать кнопку Открыть. При замене содержимого большого объекта новым будет отображено предупреждение:

    Предупреждение при загрузке из файла большого объекта

    Если нажать кнопку Да, то содержание большого объекта будет заменено новым, загруженным из указанного файла. Если нажать кнопку Нет, то содержание большого объекта не изменится

    Кнопка Кнопка сохранения в файл позволяет сохранить содержимое большого объекта в файл. При нажатии этой кнопки отобразится стандартный диалог сохранения файла Windows, в котором необходимо задать расположение и имя файла и нажать кнопку Сохранить. При сохранении файла необходимо явно указать его расширение. При сохранении файла никаких предупреждений не отображается.

    После изменения содержания большого объекта необходимо нажать клавишу Enter.


Выполнение действий над объектами

(одним файлом)
Выполнение действий над объектами

Все действия, которые могут быть произведены над объектами, могут быть выполнены одним из трех способов:

  • выбор действия в контекстном меню
  • вызов действия при помощи клавиш клавиатуры - "горячих клавиш" (доступно не для всех действий)
  • вызов действия при помощи иконки на панели инструментов (доступно не для всех действий)

При помощи действий производится добавление, удаление объектов, запуск различных процедур, выполняемых над данными, формирование отчетов.

Перечень всех действий, доступных в текущей таблице данных расположен в контекстном меню, которое отображается при нажатии правой кнопки мыши в зоне таблицы данных. Некоторые из действий выполняются для выбранных объектов (одного или нескольких), например, действие "Удалить". Для выполнения других действий выбор конкретного объекта не нужен, например, для действия "Добавить". Выбор действия в контекстном меню может производиться как при помощи мыши, так и при помощи стрелок на клавиатуре.

Если для действия установлены " горячие клавиши ", то из обозначения можно будет увидеть в правой части пункта контекстного меню. Действия могут вызываться как при нажатии одной клавиши, так и при помощи сочетания клавиш.

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

Выполнение действий над объектами при помощи контекстного меню

На рисунке изображено контекстное меню, отображающее все действия, доступные над объектом, соответствующим студенту Алехиной Елене Михайловне. Действиям "Добавить студента-специалиста", "Удалить" и "Обновить" соответствуют "горячие клавиши". Пункты меню "Перемещения", "Колонка", "Выбранные" имеют подменю. На рисунке открыто подменю пункта "Перемещения".

Для некоторых действий могут быть установлены изображения-иконки. В этом случае иконки отображаются на панели инструментов (подробнее в разделе 4.13. "Работа с панелью инструментов").

Если выполнение процедуры или отчета требует задания параметров, то при вызове действия отобразится форма задания параметров. Для выполнения действия необходимо заполнить поля формы и нажать кнопку OK (подробнее в разделе 6 "Работа с формой задания параметров").

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

Предупреждение при выполнении действия

Если в таком окне нажать кнопку Да, то действие будет выполнено. Если нажать кнопку Нет, то действие будет отменено.


Работа с панелью инструментов

(одним файлом)
Работа с панелью инструментов

На панели инструментов отображаются иконки, соответствующие доступным пользователю действиям и формам. Иконки могут иметь подписи, соответствующие наименованием действий или форм. Вызов действий или переключение между активными формами осуществляется при помощи щелчка мышью на одной из иконок. Если иконок много и они не помещаются на панели инструментов по ширине, то слева или справа отображаются кнопки прокрутки. Для прокрутки содержимого панели инструментов достаточно подвести указатель мыши к кнопке прокрутки.

На рисунке представлен пример панели инструментов. Иконки с подписями "Создать", "Удалить", "Колонка", "Выбранные", "Перенос в Excel" соответствуют доступным в текущей таблице данных действиям. Иконки с надписями "Системная форма" и "Продажи мороженого" соответствуют доступным пользователю формам. Справа от иконки "Продажи мороженого" расположена кнопка прокрутки. Подведя указатель мыши к этой кнопке, можно увидеть иконки, расположенные правее и не поместившиеся на панели инструментов.

Некоторые кнопки панели инструментов могут иметь выпадающие кнопки. Выпадающие кнопки соответствуют пунктам подменю контекстного меню. Справа от кнопок, имеющих выпадающие кнопки, расположена направленная вниз стрелочка. Если нажать мышью на эту стрелочку, то отобразится панель с выпадающими кнопками. На рисунке кнопки "Колонка" и "Выбранные" имеют выпадающие кнопки.

Панель выпадающих кнопок

Как и в контекстном меню, на панели инструментов некоторые кнопки могут быть недоступны. Доступность кнопки зависит от того, какие объекты в настоящий момент выделены, и от применимости действия к выделенным объектам.


Стандартные действия, доступные в любых таблицах данных

(раздел целиком) (одним файлом)
Стандартные действия, доступные в любых таблицах данных

Ряд стандартных действий, доступных объектов любого типа, может быть вызван из любой таблицы данных. Разработчиком конкретной прикладной системы некоторые из перечисленных в данном разделе действий могут быть скрыты. Также перечень доступных стандартных действий зависит от прав доступа конкретного пользователя.

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

  • Копирование и вставка объектов
  • Подменю "Колонка" - работа с колонкой
  • Подменю "Выбранные" - работа с выбранными объектами
  • Перенос в Excel
  • Экспорт данных
  • Обновление данных таблицы
  • Доступ к настройкам системы
  • Дополнительные действия, доступные в иерархических таблицах данных


Копирование и вставка объектов

(одним файлом)
Копирование и вставка объектов

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

  1. Выбрать один или несколько объектов, которые Вы хотите скопировать (см. раздел 4.3. "Выбор объектов в таблице данных").
  2. Вызвать действие "Копировать" из контекстного меню или при помощи иконки на панели инструментов.
  3. Перейти в таблицу данных, в которую Вы хотите вставить скопированные объекты.
  4. Вызвать действие "Вставить" из контекстного меню или при помощи иконки на панели инструментов.

При копировании и вставке происходит создание копии объекта. Все свойства нового объекта, кроме свойства "Имя" (или замещающего его свойства), будут такими же, как у первичного объекта. Свойство имя будет равно строке, составленной из слова "Копия " и имени первичного объекта. После вставки объекта значение свойства "Имя" можно изменить.

Действия "Копировать" и "Вставить" имеют соответствующие иконки на панели инструментов:
Кнопка "копировать" Кнопка "вставить"


Подменю "Колонка" - работа с колонкой

(одним файлом)
Подменю "Колонка" - работа с колонкой

Действия, доступные в подменю "Колонка" в контекстном меню или на панели инструментов могут быть применены к колонкам любой таблицы данных. Доступность тех или иных действий над колонкой зависит от типа данных, отображаемых в колонке, и от того, какие действия над колонкой уже совершены (например, нельзя вычислить сумму значений строкового типа, или нельзя очистить группировку, если данные не сгруппированы).

Иконка "Колонка" на панели инструментов имеет выпадающие кнопки:
Кнопки подменю работы с колонкой

Действия, доступные в подменю "Колонка", описаны в разделах 4.6. "Скрытие и отображение колонок", 4.8. "Группировка данных в таблицах", 4.10. "Отображение итоговых значений (агрегатов) по колонкам".


Подменю "Выбранные" - работа с выбранными объектами

(одним файлом)
Подменю "Выбранные" - работа с выбранными объектами

Действия, доступные в подменю "Выбранные" позволяют быстро отбирать и снимать отбор с объектов, а также устанавливать режим отображения в таблице данных только тех объектов, которые помечены как выбранные.

Иконка "Выбранные" на панели инструментов имеет выпадающие кнопки:
Кнопки подменю работы с выбранными объектами

Назначение этих действий описано в разделе 4.3. "Выбор объектов в таблице данных".


Перенос в Excel

(одним файлом)
Перенос в Excel

Данные, отображаемые в любой из таблиц данных, могут быть перенесены в MS Excel. При этом в MS Excel будут сохранены все настройки отображения данных (сортировка по одной или нескольким колонкам, группировка, отображение итоговых значений). Действие "Перенос в Excel" может быть вызвано из контекстного меню или при помощи иконки на панели инструментов. С данными, перенесенными в MS Excel, далее могут производиться любые манипуляции средствами этого приложения.

Если в таблице много записей, то перенос данных в Excel может занять некоторое время. Если это время превышает 10 сек., то отобразится окно, сообщающая, что система находится в работе. В этом окне будет отображен индикатор процесса переноса данных:
Индикатор прогресса переноса данных в Excel

Действие "Перенос в Excel" имеет соответствующую иконку на панели инструментов:
Кнопка переноса в Excel


Экспорт данных

(одним файлом)
Экспорт данных

Отображаемые в таблицах данных объекты могут быть экспортированы в виде xml-документа. Для того, чтобы осуществить экспорт объектов, необходимо выполнить следующее:

  1. Выбрать объекты, подлежащие экспорту (см. раздел 4.3. "Выбор объектов в таблице данных").
  2. Вызвать действие "Экспортировать" из контекстного меню или при помощи иконки на панели инструментов.
  3. В открывшемся окне сохранения файла указать местоположение и имя файла. Дать файлу расширение .xml.


Обновление данных таблицы

(одним файлом)
Обновление данных таблицы

После выполнения действий над различными объектами, хранящимися в системе, их новое состояние может сразу не отобразиться в таблице данных. Для того чтобы получить из базы данных последние актуальные данные необходимо воспользоваться действием "Обновить", которое доступно в контекстном меню, при помощи иконки на панели инструментов, а также может быть доступно при нажатии клавиши F5.

Действие "Обновить" имеет соответствующую иконку на панели инструментов:
Кнопка обновления набора данных


Доступ к настройкам системы

(одним файлом)
Доступ к настройкам системы

При наличии соответствующих прав доступа Вы можете просматривать и изменять настройки системы. Доступ к меню настроек осуществляется при помощи действия "Настройки", которое может быть вызвано из контекстного меню или при помощи иконки на панели инструментов. При вызове этого действия отобразится форма задания настроек. Эта форма аналогична форме задания параметров (см. раздел 6 "Работа с формой задания параметров"). Если Вы имеете права администратора системы, то форма задания настроек, кроме кнопок OK и Отмена, будет иметь кнопку "По умолчанию". При нажатии этой кнопки значения, установленные в полях формы станут значениями настроек по умолчанию.

Форма задания настроек системы

Если в системе нет доступных для текущего пользователя настроек, то при вызове действия "Настройки" отобразится окно:
Сообщение об отсутствии доступных настроек

Действие "Настройки" имеет соответствующую иконку на панели инструментов:
Кнопка формы настроек


Дополнительные действия, доступные в иерархических таблицах данных

(одним файлом)
Дополнительные действия, доступные в иерархических таблицах данных

В иерархических таблицах данных дополнительно доступны действия, позволяющие управлять раскрытием и свертыванием элементов иерархии. Эти действия расположены в подменю "Дерево". Иконка "Дерево" на панели инструментов имеет выпадающие кнопки:
Кнопки подменю работы с иерархией

При помощи этих действий можно управлять отображением дерева иерархически организованных объектов следующим образом:

  • Развернуть все - все элементы дерева будут раскрыты.
  • Свернуть все - все дочерние элементы будут свернуты. Отображенными останутся только элементы первого уровня (не имеющие родительских элементов).
  • Развернуть от выбранного - узел дерева, соответствующий выбранному объекту и все его дочерние узлы будут раскрыты.
  • Свернуть к выбранному - узел дерева, соответствующий выбранному объекту у все его дочерние узлы будут свернуты.
  • Свернуть к этому уровню - все узлы дерева, лежащие на том же уровне, что и выбранный объект или на более низких уровнях будут свернуты.
  • Выделить дочерние - все объекты, дочерние по отношению к выбранному, будут выделены.


Работа с Инспектором объектов

(раздел целиком) (одним файлом)
Работа с Инспектором объектов
  • Отображение свойств Инспектором объектов
  • Управление положением Инспектора объектов на экране и порядком отображения свойств
  • Редактирование значений свойств при помощи Инспектора объектов


Отображение свойств Инспектором объектов

(одним файлом)
Отображение свойств Инспектором объектов

Инспектор объектов предназначен для просмотра и редактирования свойств одного или нескольких объектов, выбранных в активной таблице данных. Инспектор объектов имеет две колонки. В левой колонке отображаются наименования свойств, в правой колонке отображаются значения свойств. Набор отображаемых свойств и их значений зависит от того, сколько объектов каких типов выбрано в текущей таблице данных (подробнее о выборе объектов см. раздел 4.3. "Выбор объектов в таблице данных"). Свойства выбранных объектов отображаются Инспектором объектов по следующим правилам:

  1. Если в таблице данных выбран один объект, то в Инспекторе объектов отображаются все свойства этого объекта, видимые пользователю.
  2. Если в таблице данных выбрано несколько объектов, то
    • Инспектор объектов будет иметь строки, соответствующие только тем свойствам, которые есть у всех выделенных объектов;
    • если у всех выделенных объектов значение свойства одинаково, то это значение будет отображено в правой колонке; в противном случае в правой колонке будет отображено пустое значение.
  3. При изменении значения свойства в Инспекторе объектов новое значение будет установлено для всех выделенных объектов.

Выбран один объект - вид на инспектор объектов
Выбран один объект - вид на таблицу

На рисунке представлен пример таблицы данных, отображающей учитываемые в системе сорта мороженого. Среди сортов мороженого есть как обычные сорта, так и сорта фруктового мороженого, дополнительно обладающие свойством "Фрукт". В таблице данных выделен один объект, соответствующий сорту фруктового мороженого "Тропический рай". При этом Инспектор объектов отображает все свойства данного объекта (в том числе свойство "Фрукт").

Выбрано несколько объектов - вид на инспектор объектов

Выбрано несколько объектов - вид на таблицу

На рисунке в той же таблице данных выбрано два объекта: сорт мороженого "Тропический рай" (фруктовое мороженое) и сорт "Белый Бим черное ухо" (обычное мороженое). При этом в Инспекторе объектов отображаются только те свойства, которые являются общими для выделенных объектов (свойство "Фрукт" не отображается). Значения свойств "Вид упаковки" и "Вес" для выбранных объектов одинаковы, поэтому их значения отображены в правой колонке Инспектора объектов. Значения остальных свойств для данных объектов различны, поэтому для этих свойств отображаются пустые значения. Если изменить одно из свойств в Инспекторе объектов, то новое значение будет установлено как для сорта мороженого "Тропический рай", так и для сорта мороженого "Белый Бим черное ухо".

Порядок отображения свойств в Инспекторе объектов устанавливается разработчиком прикладной системы. Также разработчиком прикладной системы может быть установлено отнесение свойств к категориям. В этом случае свойства могут отображаться сгруппированными по категориям. Слева от наименования каждой категории будет отображен значок Свернутый узел дерева или Развернутый узел дерева. Нажатием мышью на значок Развернутый узел дерева свойства, входящие в категорию, можно свернуть, нажатием на значок Свернутый узел дерева их можно снова отобразить.

Отображение Инспектором объектов свойств, сгруппированных по категориям

На рисунке представлен пример отображения Инспектором объектов свойств объекта, соответствующего дисциплине учебного плана студентов. Свойства, отнесенные к категориям "Формы текущего контроля" и "Распределение аудиторных часов по модулям", свернуты. Свойства, отнесенные к категории "Учебные часы" раскрыты.

В связи с тем, что выбор свойств объектов для отображения, получение и сравнение их значений происходит по специальному алгоритму, в случае одновременного выбора большого числа объектов скорость работы Инспектора объектов может снижаться. Если на вычисление значения общего свойства группы объектов требуется значительное время, то такое свойство может отображаться как свойство с отложенным вычислением. Для такого свойства в правой колонке вместо значения может отображаться строка (...). При активизации этого свойства справа отобразится кнопка со знаком вопроса Кнопка вычисления отложенного свойства. Если нажать на эту кнопку, то значение свойства будет определено и отображено.

Свойство с отложенным вычислением


Управление положением Инспектора объектов на экране и порядком отображения свойств

(одним файлом)
Управление положением Инспектора объектов на экране и порядком отображения свойств

Инспектор объектов отображается в отдельном окне. Это окно можно перетаскивать по экрану за заголовок, изменять его размеры стандартным для операционной системы Windows образом. На панели инструментов всегда присутствует иконка Инспектора объектов, при нажатии которой можно отобразить окно Инспектора (если оно не видимо) и сделать его активным:
Кнопка инспектора объектов

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

Контекстное меню инспектора объектов

Выбор одного из пунктов контекстного меню переводит Инспектор объектов в новый режим работы. После этого рядом с пунктом меню отображается галочка Флажок в контекстном меню или точка Радиокнопка в контекстном меню. При повторном выборе помеченного пункта меню соответствующий режим работы отменяется и отметка снимается. Доступные пункты контекстного меню позволяют устанавливать следующие режимы работы Инспектора объектов.

  • При выборе пункта меню Всегда наверху окно Инспектора объектов будет всегда отображаться на переднем плане независимо от переключения между активными таблицами данных.
  • Если выбрать пункт меню Прозрачное окно, то окно Инспектора объектов станет полупрозрачным.
  • Если выбрать пункт меню Показать скрытые свойства, то кроме свойств, отображаемых в обычном режиме (свойства, созданные разработчиком прикладной системы как " видимые ") будут отображены свойства объектов, " невидимые " пользователю.
  • Пункт меню Сортировать по алфавиту позволяет отображать свойства не в порядке, установленном разработчиком прикладной системы, а в алфавитном порядке их наименований. Такой режим работы удобен в случае, если необходимо найти свойство по его наименованию.
  • Пункты подменю Группировка позволяют:
    • Группировать по категории - свойства будут отображены сгруппированными по категориям (показано на рисунке);
    • Группировать по классу - свойства будут отображены сгруппированными по классу объектов, членами которого они являются;
    • Не группировать - свойства будут отображены без группировки.


Редактирование значений свойств при помощи Инспектора объектов

(одним файлом)
Редактирование значений свойств при помощи Инспектора объектов

При помощи Инспектора объектов удобно изменять значения свойств одного или одновременно нескольких выбранных объектов (о выборе объектов см. раздел 4.3. "Выбор объектов в таблице данных"). Одно из свойств, отображаемых в Инспекторе объектов, всегда является активным. Активное значение выделяется в Инспекторе объектов рамкой, его значение отображается в режиме редактирования.

Отображение свойств в режиме редактирования и способы изменения значений свойств аналогичны редактированию данных в таблице данных (см. раздел 4.11. "Редактирование данных в таблицах"). Отличие работы Инспектора объектов заключается в том, что с его помощью можно изменять значение свойства сразу нескольких выбранных объектов.


Работа с формой задания параметров

(одним файлом)
Работа с формой задания параметров

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

Форма задания параметров представляет собой форму, содержащую поля различного вида. В правом нижнем углу формы расположены кнопки ОК и Отмена.

Форма задания параметров

Слева или сверху от каждого поля расположено его наименование. Наименования поля отражает, какие данные должны быть в него введены. Поля формы объединяются в группы. Группы полей могут располагаться в столбцах или на закладках. На рисунке выше поля формы расположены в двух столбцах. Если поля расположены на закладках, то в верхней части формы отображаются заголовки закладок с их наименованиями.

Расположение полей формы на закладках

На рисунке представлена та же форма, что и на рисунке выше, но с расположением параметров на закладках.

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

Для выполнения действия, требующего задания параметров, необходимо заполнить все обязательные поля формы. После установления допустимых значений все поля формы должны приобрести белый фон. При этом условии кнопка OK станет доступной. После нажатия кнопки OK будет выполнен вызываемый метод или сформирован отчет. Если Вы хотите отменить выполнение действия, нажмите кнопку Отмена.

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

  1. Если поле имеет серый фон, то его значение недоступно для изменения. Такие поля используются для отображения дополнительной информации. Значения в таких полях могут изменяться автоматически при установке новых значений в других полях формы.
    Редактирование значения "только для чтения" на форме
  2. Обычное поле отображается в случае, когда в него должно быть введено строковое значение длиной до 128 символов, целочисленное, вещественное (с целой и дробной частью) значение, значение типа даты, времени, или даты со временем
    Редактирование недопустимого значения на форме
    В таком поле можно вводить текст с клавиатуры, копировать и вставлять его. Введенные в такое поле символы проверяются на соответствие типу данным (на основе локальных настроек компьютера) и на удовлетворение значения дополнительным условиям, которые могут быть установлены разработчиком прикладной системы. В случае если введенный набор символов соответствует недопустимому для данного поля значению, поле приобретет зеленый фон.
    Редактирование значения на форме - установлено допустимое значение
    Редактирование недопустимого значения даты на форме - установлено недопустимое значение.
  3. Для ввода строковых значений, длина которых может превышать 128 символов, отображаются расширенные поля ввода:
    Редактирование длинной строки на форме
    В таком поле можно вводить текст с клавиатуры, копировать его и вставлять. Также в таком поле может вводится многострочный текст. Перенос строки осуществляется нажатием клавиш Ctrl+Enter. Если текст имеет большое число строк, для его просмотра используется вертикальная полоса прокрутки.
  4. Для выбора значения из двух возможных вариантов используется поля, в котором отображается флажок и текстовое значение.
    Редактирование логического значения на форме
    Изменение значения в таком поле может производиться либо щелчком мыши по флажку, либо при помощи клавиши Пробел на клавиатуре. Если в данном поле пустое значение недопустимо, то переключение происходит между двумя возможными значениями (например, для поля "Пол" между значениями "Муж." и "Жен."). Если пустое значение допустимо, то переключение происходит между тремя вариантами: двумя значениями и пустым значением, для которого отображается строка "(Нет)".
  5. Если значение поля должно быть установлено путем выбора из списка допустимых значений, то в правой части поля отображается кнопка с направленной вниз стрелкой.
    Редактирование значения из выпадающего списка на форме
    Установление значения в таком поле может производиться либо при помощи выбора из выпадающего списка, открывающегося при нажатии на кнопку Кнопка выпадающего списка, либо путем ввода с клавиатуры текста, соответствующего выбираемому значению. В процессе ввода будут предлагаться допустимые варианты.
  6. Если поле предполагает ввод большого объекта, то оно отображается следующим образом:
    Редактирование большого значения на форме
    Если в поле значение не установлено, то отображается текст "(Нет)". Если значение установлено, то отображается текст "(Данные)". В правой части поля ввода расположено три кнопки:
    • Кнопка выбора при нажатии этой кнопки будет отображено окно редактирования текста большого объекта;
    • Кнопка загрузки из файла при нажатии этой кнопки большой объект можно загрузить из файла при помощи стандартного диалога открытия файла Windows;
    • Кнопка сохранения в файл при нажатии этой кнопки большой объект можно сохранить в файл при помощи стандартного диалога сохранения файла Windows.
  7. Если поле предполагает выбор объекта из другой таблицы данных, то в правой части поля отображается кнопка с тремя точками или кнопка со стрелкой и кнопка с тремя точками.
    Редактирование значения с выбором на форме
    Выбор значений в таком поле производится путем нажатия на одну из кнопок:
    • Кнопка выпадающего списка при нажатии данной кнопки отображается выпадающий список объектов которые могут быть выбраны в данном поле;
    • Кнопка выбора - при нажатии данной кнопки будет открыта таблица данных, и в ее правом нижнем углу будут расположены кнопки OK и Отмена. В открывшейся таблице нужно выбрать один объект, после чего нажать кнопку ОК.

При работе с формой задания параметров рекомендуется устанавливать в полях значения в порядке их следования на форме. Разработчиком прикладной системы может быть установлена зависимость между значениями полей. В этом случае при изменении значения в одном из полей, в других полях значения также могут автоматически измениться. Допустимость значений в одних полях может зависеть от того, какие значения установлены в других полях.

Также необходимо помнить о том, что кнопка ОК на форме задания параметров станет доступной только тогда, когда во всех полях будут установлены допустимые значения.


Формирование отчетов Microsoft Excel

(одним файлом)
Формирование отчетов Microsoft Excel

Формирование отчетов, выгружаемых в MS Excel происходит при помощи вызова действий в таблицах данных (подробнее о вызове действий см. раздел 4.12 "Выполнение действий над объектами"). При вызове отчета на выполнение может отобразиться форма задания параметров отчета. Поля этой формы необходимо заполнить, после чего нажать кнопку ОК (подробнее о работе с формой задания параметров см. раздел 6. "Работа с формой задания параметров").

Отчеты, выгружаемые в MS Excel, как правило, имеют иконки на панели инструментов, характерные для рабочих книг Excel:
Кнопка формирования отчета Microsoft Excel

При запуске отчета на исполнение происходит создание рабочей книги Excel, в которую передаются данные, хранящиеся в базе данных. Рабочая книга может содержать данные, диаграммы, интерактивные элементы управления, и проч.. Далее средствами MS Excel могут осуществляться любые доступные действия с рабочей книгой.

Отчеты в MS Excel используются для вывода на печать документов и стандартных форм отчетности. Шаблоны отчетов создаются разработчиками прикладной системы.

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


Формирование отчетов в виде HTML-документов

(одним файлом)
Формирование отчетов в виде HTML-документов

В целях публикации отчетной информации в Internet средствами системы могут формироваться отчеты в виде HTML-документов. Формирование таких отчетов происходит путем вызова действий в таблицах данных (подробнее о вызове действий см. раздел 4.12 "Выполнение действий над объектами"). При вызове отчета на выполнение может отобразиться форма задания параметров отчета. Поля этой формы необходимо заполнить, после чего нажать кнопку ОК (подробнее о работе с формой задания параметров см. раздел 6. "Работа с формой задания параметров").

Отчеты, формируемые в виде HTML-документов, как правило имеют иконки на панели инструментов, характерные для приложения MS Internet Explorer:
Кнопка формирования XSLT-отчета

В результате работы отчета создается HTML-документ, который может содержать таблицы с данными, рисунки, ссылки и проч. Сформированный документ показывается при помощи приложения Internet Explorer. Полученный html-файл может быть опубликован в Internet, сохранен, распечатан и т.д.

Сформированный html-документ сохраняет связь в базой данных. Если в ранее открытом документе выполнить процедуру обновления, по документ отобразит последнюю версию хранящихся на сервере БД данных.


Взаимодействие с разработчиком в случае ошибок, проблем, вопросов по работе системы

(раздел целиком) (одним файлом)
Взаимодействие с разработчиком в случае ошибок, проблем, вопросов по работе системы

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

Общими принципами сбора информации для обращения к разработчику должны быть:

  1. Необходимо быть готовым изложить последовательность действий пользователя в системе, начиная с открытия системы до ситуации, приводящей к ошибке, проблемной ситуации или ситуации, вызывающей вопрос.
  2. Если ошибка или проблема имеет визуальное проявление, нужно сделать скриншот (снимок) экрана. Желательно предоставлять скриншот всего экрана компьютера, а не только активного окна приложения, это даст разработчику дополнительную полезную информацию. Скришот экрана при работе в операционной системе MS Windows можно получить путем одновременного нажатия клавиш Ctrl + Print Screen (PrtScr) и последующей вставки (сочетание клавиш Shift + Ins) в какое-либо графическое приложение, например, программу Paint.
  3. Если ошибка заключается не в отображении специального окна с сообщением об ошибке, а в том, что результат работы системы является, с точки зрения пользователя, некорректным, то нужно быть готовым изложить, каким должен быть корректный результат, и чем именно результат работы системы некорректен.
  4. Если ошибка, проблема или вопрос связаны с работой третьесторонних приложений (например, отчеты, формируемые в MS Excel или MS Word, работа web-приложений системы посредством интернет-браузеров), нужно быть готовым предоставить информацию о версии третьесторонних приложений.
  5. Нужно быть готовым предоставить информацию о конфигурации рабочего места пользователя, версии операционной системы, установленном программном обеспечении и его версии, включая средства анитивирусной защиты.

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

  • Приложение Отладочный монитор
  • Получение файла, содержащего информацию об ошибке
  • Получение информации о третесторонних приложениях


Приложение Отладочный монитор

(одним файлом)
Приложение Отладочный монитор

Приложение Отладочный монитор (DebugView.exe) устанавливается при установке платформы в любой конфигурации, предусмотренной по умолчанию, включая конфигурацию "Рабочее место пользователя". Открыть приложение можно при помощи иконки:

Иконка Debug Monitor

Когда приложение Отладочный монитор запущено, приложение Обозреватель данных выводит в него поток сообщений о действиях и событиях, происходящих в системе. В Отладочный монитор попадают все sql-запросы, направляемые с рабочего места пользователя на сервер баз данных (в случае удаленного подключения - html-запросы, направляемые на сервер приложений), информационные сообщения, предупреждения, отладочная информация, сообщения об ошибках и прочие данные.

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

  1. Закрыть приложение Обозреватель данных, если оно было открыто.
  2. Запустить приложение Отладочный монитор. Если это приложение уже было открыто, то выполнить очитку всех имеющихся в нем сообщений при помощи кнопки Очистить.
  3. В приложение Обозреватель данных выполнить всю последовательность действий, приводящих в появлению ошибки или проблемной ситуации.
  4. После возникновения ошибки или проблемной ситуации в приложении Отладочный монитор нажать кнопку Сохранить в файл, выбрать место сохранения и задать имя файла. Файл будет сохранен в формате.txt.
  5. Отправить полученный.txt-файл разработчику в составе других информационных материалов, которыми должны быть:
    • Словесное описание проблемы и способа ее воспроизведения
    • Один или несколько скриншотов экрана, иллюстрирующих проблему

После получения информации, состав которой описан в пункте 5, разработчик может запросить дополнительную информацию о проблеме.


Получение файла, содержащего информацию об ошибке

(одним файлом)
Получение файла, содержащего информацию об ошибке

В ходе работы с системой могут отображаться специальные окна с информацией об ошибках. Эти окна могут быть двух видов:

  1. Окно с информацией о недопустимом действии пользователя (окно с шапкой синего цвета):

    Окно ошибки. Синяя шапка.

    Как правило, отображение такого окна с информацией об ошибке свидетельствует не об ошибке в функциональности системы, а о том, что пользователем выполнено недопустимое действие. Информация о том, в чем именно действие не допустимо, содержится в тексте, отображаемом в окне. Например, на приведенном выше скриншоте мы видим окно с ошибкой, отображено после попытки пользователя создать в справочнике "Уровни образования и курсы" второй записи с именем "1 курс", подчиненной родительской записи "Бакалавриат", что недопустимо. Поэтому сообщение об ошибке говорит о дублировании объекта по полю Имя.

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

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

  2. Окно с информацией об ошибке системы (окно с шапкой красного цвета).

    Окно ошибки. Красная шапка.

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

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

Сохранение информации для направления разработчику.

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

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

Информация для службы поддержки

При помощи ссылки Сформировать файл для службы поддержки можно собрать в удобном виде наиболее полную и полезную для разработчика информацию. После нажатия на ссылку будет предложен диалог сохранения файла. По умолчанию файлу будет дано имя ExceptionInfo.err. Это имя можно изменить, но расширение необходимо файла сохранить. После выбора места сохранения и имени файла и нажатия кнопки Сохранить, система отобразить предупреждение:

Предупреждение при сохранении файла для службы поддержки

К данному предупреждению нужно отнестись ответственно - отправлять полученный файл только на адреса службы поддержки системы в вашей организации или на официальный контактный адрес разработчика (если вы взаимодействуете с разработчиком напрямую). После отправки этот файл необходимо удалить.

Предоставление разработчику информации в виде.err-файла - это самый удобный и надежный вариант взаимодействия, который даст возможность разработчику решить проблему или ответить на вопрос наиболее эффективным и быстрым образом. Данный файл содержит все виды информации, которые могут быть собраны другими способами:

  • Информацию об ошибке, которая отображается по ссылке "Показать информацию для службы поддержки"
  • Сообщения Отладочного монитора, собранные за некоторое время до возникновения ошибки
  • Скриншоты экрана пользователя, включая скриншот окна с информацией об ошибке.

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

Если вы хотите обратиться к разработчику по поводу ситуации, которая не сопровождается отображением окна с ошибкой, то.err-файл можно получить следующим образом: нужно кликнуть левой кнопкой мыши по иконке с мельницей в левом углу заголовка окна текущей формы и из выпадающего меню выбрать пункт Сохранить файл для службы поддержки.

Получение файла для службы поддержки


Получение информации о третесторонних приложениях

(одним файлом)
Получение информации о третесторонних приложениях

В случае, если ошибка произошла при взаимодействии системы с третьесторонним приложением, например, при выполнении отчета MS Excel, MS Word, pdf, при работе web-приложений системы через интернет-браузер, разработчику, в дополнение к файлу с информацией об ошибке, понадобится информация о версии третьестороннего приложения, при взаимодействии с которым произошла ошибка.

Получить информацию о версии приложения можно, как правило, в окне О программе ("About box"), которое в большинстве программных продуктов представлено в пункте меню Справка.

Разработчику в составе информационных материалов нужно отправить скриншот этого окна.

В продуктах семейства Microsoft Office вызвать окно О программе можно разными способами в зависимости от версии MS Office. В программных продуктах версий до 2003 включительно это окно доступно в меню Справка / О программе. В программных продуктах версий 2007 и выше вызвать это окно можно следующим образом:

  1. В меню Файл открыть выпадающий список доступных действий и нажать кнопку Параметры Excel :
    Параметры Excel
  2. В открывшемся окне выбрать раздел Ресурсы, в правой части окна нажать кнопку О программе :
    Вызов окна О программе Excel

Окно О программе в случае MS Excel выглядит следующим образом:

Окно О программе Excel

В программе Acrobat Reader окно О программе можно вызвать из меню Справка / О программе :

Вызов окна О программе Acrobat Reader

В интернет-браузерах окно "О программе" (О Google Chrome, О FireFox, О Internet Explorer) также можно вызвать из меню Справка. Строка меню в интернет-браузерах часто бывает по умолчанию скрыта. Для того, чтобы ее отобразить, нужно нажать клавишу Alt на клавиатуре.


Руководство пользователя построителя запросов

(одним файлом)
Руководство пользователя построителя запросов

Этот раздел еще предстоит написать.


Руководство администратора

(раздел целиком) (одним файлом)
Руководство администратора
  • Установка программного обеспечения СУБД
  • Установка программного обеспечения платформы "Мельница данных"
  • Создание и начальная инициализация базы данных
  • Управление доступом пользователей


Установка программного обеспечения СУБД

(раздел целиком) (одним файлом)
Установка программного обеспечения СУБД

Прежде, чем устанавливать программноге обеспечение "Мельница данных" необходимо установить и настроить программное обеспечение СУБД.

Для конфигурирования сервера БД необходимо последовать советам раздела "Конфигурирование сервера". В этом разделе описаны шаги, которые необходимо предпринять для установки сервера "с нуля". Если сервер БД у вас уже установлен и настроен, то использовать рекомендации этого раздела нет необходимости. Раздел описывает установку сервера БД минимальной поддерживаемой версии в минимально необходимой для работы "Мельницы данных" конфигурации. Если вы собираетесь использовать сервер БД для более широкого круга задач, то пользуйтесь руководствами по соответствующим СУБД.
Документация по СУБД, а также любая другая информация, полученная от производителей СУБД, имеет абсолютный приоритет перед утверждениями настоящего документа.

На каждой рабочей станции должно быть установлено и настроено программное обеспечение клиентской части СУБД. Это, как правило, некий набор библиотек и компонентов, наличие которых необходимо для соединения с сервером БД. Для обеспечения рабочей станции этими компонентами необходимо последовать советам раздела Конфигурирование клиента. В этом разделе описаны шаги, которые необходимо предпринять для установки клиентской части СУБД "с нуля". Если клиентская часть СУБД у вас уже установлена и настроена, то использовать рекомендации этого раздела нет необходимости. Раздел описывает установку клиентской части СУБД минимальной поддерживаемой версии в минимально необходимой для работы "Мельницы данных" конфигурации.

В настоящий момент поддерживаемые СУБД приведены в таблице:
СУБД Минимальная
требуемая версия 		Разработчик Сопровождение в России
Firebird
Open source
1.5.4.4910 http://www.firebirdsql.org
Страница загрузки 		http://www.ibase.ru
Oracle database
Коммерческое ПО
9.2.0.1 http://www.oracle.com
Страница загрузки 		http://www.oracle.com/global/ru/index.html

  • Конфигурирование сервера
  • Конфигурирование клиента


Конфигурирование сервера

(одним файлом)
Конфигурирование сервера

Младшая тестированная на совместимость версия - 1.5.4.4910. Использование более младшей версии на сервере недопустимо. Шаги установки примерно следующие:

  1. Первая страница содержит логотип проекта Firebird
    Установка FireBird (первая страница)
  2. Вторая страница содержит лицензионное соглашение. Для продолжения установки необходимо установить кнопку "I accept the agreement".
    Установка FireBird (вторая страница)
  3. Третья страница содержит информацию, необходимую для установки.
    Установка FireBird (третья страница)
  4. Четвертая страница позволяет указать папку на диске, в которую будут установлены файлы Firebird.
    Установка FireBird (четвертая страница)
  5. На пятой странице определяется тип установки. Мы конфигурируем сервер БД, и, соответственно, выбираем из выпадающего списка пункт "Full installation of Server and development tools". Необходимо определиться с выбором между различными архитектурами сервера. Если вы затрудняетесь в выборе между вариантами архитектуры сервера, то помните, что для однопроцессорных систем предпочтительнее Super Server, для многопроцессорных используется только Classic Server. Подробности можно посмотреть на сайте сопровождающей компании или на сайте проекта. Особое внимание требуется обратить на работу сервера на процессоре в режиме HyperThreading.
    Установка серверной части FireBird - выбор типа установки
  6. На шестой странице предлагается выбрать имя папки меню "Пуск", в которой будут созданы полезные ярлыки. В нашем случае ярлыки будут созданы для файлов документации, бесполезной в конечном счете для конечного пользователя. Поэтому мы ставим флажок "Don't create any icons".
    Установка FireBird (шестая страница)
  7. На седьмой странице необходимо выбрать параметры установки. Настоятельно рекомендуется включить флажок "Use the Guardian to control the server" и запускать сервер в режиме службы, то есть выбрать кнопку "Run as a Service". Также настоятельно рекомендуется установить флажок "Start Firebird automatically everytime you boot up". Программное обеспечение "Мельница данных" использует в работе библиотеку gds32.dll , загружая ее из системного каталога Windows. Поэтому в целях обеспечения нормальной работы необходимо установить оба флажка - "Copy Firebird client library to <system> directory" и "Generate client library as GDS32.DLL for legacy app. support".
    Установка серверной части FireBird - параметры установки
  8. На восьмой странице необходимо подтвердить установку с выбранными параметрами.
    Установка серверной части FireBird - подтверждение установки
  9. После установки на девятой странице можно ознакомиться с информацией об установленной версии.
    Установка FireBird (девятая страница)
  10. Десятая страница информирует об успешном завершении установки и позволяет запустить сервер немедленно. Рекомендуется установить флажок "Start Firebird Service now".
    Установка серверной части FireBird - установка завершена

Убедиться в том, что сервер установлен и запущен, можно из окна служб (Start → Control Panel → Administrative Tools → Services):

Установленный FireBird в списке сервисов

Использование embedded-сервера вполне допустимо, с учетом ограничений, налагаемых разработчиком. Для использования embedded-сервера необходимо положить файлы (с полным путем) из архива embedded-сервера рядом с исполняемыми файлами нашей системы, и переименовать файл FBEMBED.DLL в GDS32.DLL , примерно следующим образом:

Использование FireBird Embedded

Для работы с embedded-сервером имя сервера в строке соединения указывать нельзя. Кроме того, необходимо соблюдать рекомендации и требования разработчиков сервера.

Младшая тестированная на совместимость версия - 9.2.0.1. Использование более младшей версии недопустимо.

Если вы устанавливаете Oracle не с компакт-дисков, то не пользуйтесь программой автозапуска, лежащей в корне первого установочного диска, а запустите setup.exe из каталога install\win32 на первом установочном диске.

Шаги установки примерно следующие:

  1. Первая страница содержит логотип Oracle и командные кнопки. Для продолжения установки нажмите кнопку "Next".
    Установка Oracle (первая страница)
  2. На второй странице необходимо определиться с путями установки и источника, а также с именем "дома". Настоятельно рекомендуется принять значения, предлагаемые по умолчанию.
    Установка Oracle (вторая страница)
  3. На третьей странице необходимо выбрать устанавливаемый продукт. Для сервера БД необходимо выбрать продукт "Oracle9i Database 9.2.0.1.0".
    Установка серверной части Oracle
  4. На четвертой странице необходимо выбрать тип установки. Для обеспечения требуемой функциональности выберите тип "Standard Edition".
    Установка серверной части Oracle - выбор типа установки
  5. На пятой странице необходимо выбрать параметры базы данных, создаваемой автоматически при установке сервера. Рекомендуется никакой базы данных при установке не создавать, для чего выбрать пункт "Software Only".
    Установка серверной части Oracle - отказ от автоматического создания БД
  6. На шестой странице необходимо выбрать порт TCP/IP, используемый Oracle Services for MTS. По умолчанию 2030.
    Установка серверной части Oracle - порт MTS
  7. На седьмой странице необходимо подтвердить правильность параметров установки.
    Установка серверной части Oracle - подтверждение установки
  8. После окончания процесса вы увидете сообщение об успешном завершении установки. Нажмите кнопку "Exit".
    Установка серверной части Oracle - завершено
  9. После завршения работы инсталлятора автоматически будет запущено приложение "Enterprise Manager Console". Если по каким-либо причинам этого не произошло, запустите это приложение самостоятельно через меню "Пуск". В окне "Add Databases To Tree" нажмите кнопку "Cancel".
    Установка серверной части Oracle - отказ от использования Enterprise Manager Console
  10. Из меню выберите пункт Tools → Service Management → Oracle Net Manager.
    Установка серверной части Oracle - вызов Oracle Net Manager
  11. В появивщемся окне приложения "Oracle Net Manager" раскройте узел дерева "Local", встаньте на узел дерева "Listener" и нажмите на кнопку с большим зеленым плюсом в панели инструменов (слева).
    Установка серверной части Oracle - Oracle Net Manager
  12. В появивщемся окне добавления Listener'a введите имя (по умолчанию - LISTENER). Настоятельно рекомендуется принять умолчание.
    Установка серверной части Oracle - создание Listener'a
  13. Нажмите на кнопку "Add Address" в нижней части окна.
    Установка серверной части Oracle - создание адреса Listener'a
  14. В появившемся окне отображена информация о том, каким образом клиенты будут осуществлять соединение с сервером БД. Настоятельно рекомендуется принять умолчания - протокол TCP/IP, порт 1521.
    Установка серверной части Oracle - адрес Listener'a создан
  15. Из меню выберите пункт File → Save Network Configuration
    Установка серверной части Oracle - сохранение конфигурации
  16. Служба Listener'a будет создана при первой попытке создать базу данных. Закройте приложения "Oracle Net Manager" и "Enterprise Manager Console".


Конфигурирование клиента

(одним файлом)
Конфигурирование клиента

Младшая тестированная на совместимость версия - 1.5.4.4910. Использование более младшей версии на клиенте недопустимо. Шаги установки примерно следующие:

  1. Первая страница содержит логотип проекта Firebird
    Установка FireBird (первая страница)
  2. Вторая страница содержит лицензионное соглашение. Для продолжения установки необходимо установить кнопку "I accept the agreement".
    Установка FireBird (вторая страница)
  3. Третья страница содержит информацию, необходимую для установки.
    Установка FireBird (третья страница)
  4. Четвертая страница позволяет указать папку на диске, в которую будут установлены файлы Firebird.
    Установка FireBird (четвертая страница)
  5. На пятой странице определяется тип установки. Мы конфигурируем клиентскую часть, и, соответственно, выбираем из выпадающего списка пункт "Minimum client install - no server, no tools". Кнопки в списке устанавливаемых компонентов будут автоматически выставлены в правильное положение.
    Установка клиентской части FireBird - выбор типа установки
  6. На шестой странице предлагается выбрать имя папки меню "Пуск", в которой будут созданы полезные ярлыки. В нашем случае ярлыки будут созданы для файлов документации, бесполезной в конечном счете для конечного пользователя. Поэтому мы ставим флажок "Don't create any icons".
    Установка FireBird (шестая страница)
  7. На седьмой странице необходимо выбрать параметры установки. Программное обеспечение "Мельница данных" использует в работе библиотеку gds32.dll, загружая ее из системного каталога Windows. Поэтому в целях обеспечения нормальной работы необходимо установить оба флажка - "Copy Firebird client library to <system> directory" и "Generate client library as GDS32.DLL for legacy app. support".
    Установка клиентской части FireBird - параметры установки
  8. На восьмой странице необходимо подтвердить установку с выбранными параметрами.
    Установка клиентской части FireBird - подтверждение установки
  9. После установки на девятой странице можно ознакомиться с информацией об установленной версии.
    Установка FireBird (девятая страница)
  10. Десятая страница информирует об успешном завершении установки.
    Установка клиентской части FireBird - установка завершена

Младшая тестированная на совместимость версия - 9.2.0.1. Использование более младшей версии на клиенте недопустимо.

Если вы устанавливаете Oracle не с компакт-дисков, то не пользуйтесь программой автозапуска, лежащей в корне первого установочного диска, а запустите setup.exe из каталога install\win32 на первом установочном диске.

Шаги установки примерно следующие:

  1. Первая страница содержит логотип Oracle и командные кнопки. Для продолжения установки нажмите кнопку "Next".
    Установка Oracle (первая страница)
  2. На второй странице необходимо определиться с путями установки и источника, а также с именем "дома". Настоятельно рекомендуется принять значения, предлагаемые по умолчанию.
    Установка Oracle (вторая страница)
  3. На третьей странице необходимо выбрать устанавливаемый продукт. Для рабочей станции необходимо установить продукт "Oracle9i Client 9.2.0.1.0".
    Установка клиентской части Oracle
  4. На четвертой странице необходимо выбрать тип установки. Для обеспечения требуемой функциональности выберите тип "Runtime".
    Установка клиентской части Oracle - выбор типа установки
  5. На пятой странице необходимо подтвердить правильность параметров установки.
    Установка клиентской части Oracle - подтверждение установки
  6. В процессе установки инсталлятор потребует настроить параметры соединения с сервером БД. Для этого запустится отдельный мастер "Oracle Net Configuration Assistant", и процесс установки будет приостановлен на время работы этого мастера.
    Если этого по каким-либо причинам не произошло, то после завершнения установки необходимо запустить это приложение из меню "Пуск" и выполнить описанные в этом и следующих шагах действия.
    На этой (первой) странице мастера необходимо отказаться от использования службы каталогов, выбрав кнопку "No, I will create net service names myself...".
    Установка клиентской части Oracle - конфигурирование подключения к БД - не использовать directory service.
  7. На второй странице мастера необходимо выбрать версию базы данных. Базы данных версии Oracle8 в любом случае не поддерживаются "Мельницей данных", поэтому выберите кнопку "Oracle8i or later database or service".
    Установка клиентской части Oracle - конфигурирование подключения к БД - версия БД
  8. На третьей странице мастера необходимо ввести имя сервиса, идентифицирующего базу данных на сервере (в данном случае - "RTT"). Это имя устанавливается при создании базы данных.
    Установка клиентской части Oracle - конфигурирование подключения к БД - имя сервиса
  9. На четвертой странице мастера выберите из списка доступных для соединения с БД протоколов протокол "TCP".
    Установка клиентской части Oracle - конфигурирование подключения к БД - протокол
  10. На пятой странице мастера введите адрес сервера, на котором установлена БД. Можно вводить как символьное имя сервера, так и IP-адрес. На этой же странице выберите порт TCP/IP, по которому будет производиться соединение с сервером. Порт по умолчанию - 1521.
    Установка клиентской части Oracle - конфигурирование подключения к БД - сервер и порт
  11. На шестой странице мастер предлагает протестировать заданные на предыдущих шагах параметры. Выберите кнопку "Yes, perform a test".
    Установка клиентской части Oracle - конфигурирование подключения к БД - тестирование соединения
  12. Если введенные на предыдущих страницах параметры соединения с БД были заданы корректно, то мастер сообщит об этом:
    Установка клиентской части Oracle - конфигурирование подключения к БД - успешное соединение
  13. На восьмой странице введите имя псевдонима подключения, который будет использоваться в дальнейшем для установки соединения с БД приложениями "Мальницы данных". Во избежание путаницы настоятельно рекомендуется именовать псевдоним так же, как и службу на сервере (в данном случае - RTT). сообщит об этом:
    Установка клиентской части Oracle - конфигурирование подключения к БД - псевдоним соедиения
  14. На девятой странице мастера у вас есть возможность выбрать, настроить еще одно подключение или завершить работу с мастером. После завршения установки вы всегда сможете вернуться к процедуре создания псевдонима подключений, вызвав из меню "Пуск" приложение "Oracle Net Configuration Assistant".
    Установка клиентской части Oracle - конфигурирование подключения к БД - отказ от создания следующего соединения
  15. На десятой странице мастер сообщает об успешном создании псевдонима соединения с БД.
    Установка клиентской части Oracle - конфигурирование подключения к БД - завершено конфигурирование соединения
  16. На десятой странице мастер сообщает об успешном завершении своей работы.
    Установка клиентской части Oracle - конфигурирование подключения к БД - завершено
  17. После завршения работы мастера "Oracle Net Configuration Assistant" вы увидете сообщение об успешном завершении работы инсталлятора. Нажмите кнопку "Exit".
    Установка клиентской части Oracle - завершено


Установка программного обеспечения платформы "Мельница данных"

(раздел целиком) (одним файлом)
Установка программного обеспечения платформы "Мельница данных"

Для установки ПП "Мельница данных" необходимо запустить файл setup.exe, расположенный на поставляемом компакт диске. После запуска программы установки необходимо следовать указаниям мастера установки.

Шаг 1: Выбор языка

Установка Мельницы Выбор языка

Шаг 2: Информация о версии устанавливаемого ПП

Установка Мельницы. Версия ПП

Шаг3: Выбор каталога установки файлов ПП

Установка Мельницы. Папка установки.

Шаг 4: Выбор файла лицензии

Установка Мельницы. Выбор лицензии.

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

Шаг 5: Выбор компонентов для установки

Установка Мельницы. Выбор компонентов.

На данном шаге вам необходимо выбрать набор компонентов для установки на локальный компьютер. В зависимости от специфики использования рабочего места, на которое устанавливается ПО, необходимо выбрать тип установки. Предлагаемые типы установок:

  • Рабочее место пользователя
  • Рабочее место администратора
  • Рабочее место разработчика
  • Только построитель запросов
  • По выбору

Для каждого из типов установки по умолчанию устанавливается свой набор компонентов. Вы можете дополнительно отметить тот или иной необходимый вам компонент для установки. Для выбора будут отображены только те компоненты, которые влачены в указанном вами лицензионном файле.

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

  1. Обозреватель данных
  2. Построитель запросов
  3. Утилита обслуживания баз данных
  4. Утилита слияния баз данных
  5. Инструменты разработчика / Инструмент поставки решений
  6. Отладочный монитор
  7. Документация

Для некоторых из вышеперечисленных компонентов также можно выбрать состав устанавливаемого компонента. Описание назначений поставляемых компонент описано в разделе "Поставляемые компоненты ПП" настоящей документации.

После указания всех параметров мастер установки скопирует файлы на локальный компьютер и создаст в меню программ папку с ярлыками к установленным компонентам:

Установка Мельницы. Ярлыки после установки.
  • Поставляемые компоненты ПП "Мельница данных"


Поставляемые компоненты ПП "Мельница данных"

(одним файлом)
Поставляемые компоненты ПП "Мельница данных"
Обозреватель данных | Обозреватель данных (DataBrowser) - Основное приложение позволяющее просматривать и модифицировать данные. Приложение используется для разработки прикладных решений. Позволяет описывать объекты БД, их свойства, методы, пользовательские формы и отчеты. Это же приложение используется для работы с разработанными прикладными решения пользователями на локальных рабочих местах.
Утилита обслуживания БД | Утилита обслуживания базы данных (DBSetupShell) - Приложение, позволяющее создавать и обслуживать выбранную базу данных любой из поддерживаемых СУБД. Также при помощи данной утилиты можно создавать и удалять пользователей БД, создавать и восстанавливать резервные копии БД, импортировать и экспортировать данные из/в БД, а также выполнять процедуры по контролю целостности БД.
Построитель запросов | Построитель запросов (QueryBuilder) - Приложение, позволяющее визуальными средствами создавать интерактивные запросы на основе данных хранящихся в используемой БД. Созданные запросы сохраняются в стандартный формате SQL и полностью удовлетворяют архитектуре клиент-сервер. Сохраненные в виде файла запросы могут быть открыты пользователем по необходимости. Полученная таким образом информация будет актуальна в любой момент времени. Также существует возможность создания статистического отчета на основе Excel шаблона.
Отладочный монитор | Отладочный монитор (DebugView) - Средство позволяющее отслеживать все запросы к БД генерируемые "клиентской частью" прикладного решения, а также результат их исполнения сервером СУБД. Используется для отладки в процессе разработки прикладного решения.
Утилита слияния баз данных | Утилита слияния баз данных (Merger) - Данная утилита позволяет сравнивать данные и метаданные 2х различных БД. При помощи данного приложения можно с легкостью перенести, например данные из резервной копии в рабочую БД в случае не преднамеренного удаления большого числа объектов, тем самым избежать необходимости восстановления резервной копии недельной давности. Также используется для обновления версии ПП.
Редактор файлов документации | Редактор файлов документации (HelpEditor) - Незаменимое средство создания электронной справки и файлов документации в стандартном формате chm.


Создание и начальная инициализация базы данных

(одним файлом)
Создание и начальная инициализация базы данных

Для создания БД необходимо вопрользоваться утилитой обслуживания базы данных, поставляемой в комплекте ПП. После запуска одноименного приложения откроется окно панели управления утилиты:

После запуска одноименного приложения откроется окно панели управления утилиты:

Создание БД. Утилита обслуживания БД.

Для доступа к задачам необходимо заполнить параметры работы с базой данных:

  1. Источник данных : Необходимо указать используемую СУБД.
  2. База данных : Необходимо указать наименование создаваемого файла БД и его месторасположение. (Пример: c:\databases\base.fdb)
  3. Пользователь : Указать имя пользователя (Администратора) для используемой СУБД. Для Interbase/FireBird - SYSDBA, для Oracle - SYS.
  4. Пароль : Указать пароль пользователя (Администратора) для используемой СУБД. Для Interbase/FireBird - masterkey, для Oracle - SYS.

После заполнения полей параметров можно приступать к созданию БД. Для создания новой базы данных необходимо воспользоваться задачей "Создать новую БД". После нажатия кнопки "Выполнить" будут выполнены команды отображенные в окне "Командная строка".

Днные команды можно выполнить самостоятельно из командной строки операционой системы или из любого другого приложения. Также создать пустую БД можно средствами входящими в комплекты поставок соответствуеющих СУБД.
Создание БД. Вывод консольного приложения.

В окне "Вывод консольного приложения" будет отображен результат выполнения команд по созданию БД. В случае успешного выполнения всех необходимых команд, БД будет создана по указанному в параметрах месторасположению.

После создания пустой БД необходимо наполнить ее системными объектами (метаданными) для последующей работы с ПП "Мельница данных". Для этого необходимо выполнить задачу "Синхронизировать базу данных". После нажатия кнопки "Выполнить" будет автоматически запущен отладочный монитор отображающий процесс наполнения БД необходимыми метаданными. Данный процесс может занять от одной до нескольких минут в зависимости от используемой СУБД и производительности сервера. (Обычно около минуты) По окончании процесса в окне "Вывод консольного приложения" будет отображен результат выполнения инициализации базы данных.

Инициализация БД. Вывод консольного приложения.

Все действия по созданию и инициализации БД выполнены. БД готова к эксплуатации.


Управление доступом пользователей

(раздел целиком) (одним файлом)
Управление доступом пользователей

После того, как база данных создана и инициализирована метаданными платформы, доступ к системе будет иметь один пользователь - администратор созданной БД. Добавление других пользователей, ролей пользователей и включение пользователей в роли выполняется в представлениях Пользователи и Роли в Системной форме. После начальной инициализации БД на вкладке Пользователи можно увидеть одного пользователя с именем, соответствующим логину администратора БД (Например, для FireBird пользователь SYSDBA), на вкладке Роли можно увидеть одну роль с наименованием Администраторы. На подчиненных вкладках этих представлений можно увидеть, что пользователь - администратор включен в роль Администраторы.

Профиль пользователя формируется путем определения для него:

  1. Перечня доступных форм
  2. Перечня доступных визуальных групп
  3. Перечня групп запретов

Формирование профиля происходит одинаково как для роли, так и для отдельного пользователя. Однако рекомендуется формировать профили для ролей, а не для отдельных пользователей. В этом случае при подключении к системе новых пользователей, изменении параметров доступа для существующего пользователя достаточно будет включить пользователя в одну из ролей, или исключить его из роли. Роли рекомендуется формировать содержательным образом на основе распределения обязанностей реальных пользователей, работающих с прикладным решением.

  • Создание пользователей
  • Создание ролей
  • Включение пользователей в роли
  • Формирование перечня доступных визуальных групп
  • Формирование перечня доступных форм
  • Формирование перечня групп запретов


Создание пользователей

(одним файлом)
Создание пользователей

Создание пользователя системы включает в себя два этапа:

  1. Создание пользователя БД средствами используемой СУБД. Для этого наряду с возможностями каждой из СУБД Утилитой обслуживания БД предлагается действие Создать пользователя. Предлагаемые Утилитой по умолчанию пути к БД и параметры доступа требуют уточнения в зависимости от условий функционирования реальной БД. Задавать права доступа пользователя к объектам БД на данном этапе не надо.
  2. В Системной форме на вкладке Пользователи создать нового пользователя при помощи соответствующего действия контекстного меню.
    В поле Имя нужно вветси строку, строго соответствующую логину пользователя БД в вернем регистре.
    Особых требований к полю Наименование не предъявляется. Однако рекомендуется вводить в это поле фамилию и имя реального пользователя системы, например, Смирнов Иван Николаевич, что позволить в последующем получать информативные данных об активности пользователей системы.


Создание ролей

(одним файлом)
Создание ролей

Создание ролей производится на вкладке Роли Системной формы при помощи действия Создать, вызываемого из контекстного меню. Имя и наименование роли могут быть любыми строками. Однако именовать роли по названиям соответствющих функциональных участков системы, например,

  • Начальник отдела кадров
  • Инспектора по работе с личными данными персонала
  • Инспектора по социальным вопросам
В случаях, когда реальные пользователи совмещают несколько ролей, роли лучше формировать отдельно, после чего одного пользователя можно влючить одновременно в несколько ролей.


Включение пользователей в роли

(одним файлом)
Включение пользователей в роли

В роль могут включаться как пользователи, так и другие роли. Для добавления в роль нового члена роли нужно выбрать роль на вкладке Роли, отрыть подчиненную вкладку Члены роли и вызвать на ней действие Создать. Поля формы параметров заполняются следующим образом:

  • Пользователь - в этом поле необходимо выбрать либо одного из пользователей, либо одну из ролей. В зависимости от того, выбран ли пользователь или роль, будет меняться доступность следующих ниже полей.
  • Основная роль - в этом поле можно установить значение Да или Нет. Если пользователь включен в нескольно ролей, то среди них можно выделить одну основную. Разработчик прикладного решения на платформе сможет использовать это значение для управления доступом к объектам системы. Поле доступно для выбора значения только в том случае, если в поле Пользователь выбран именно пользователь, а не роль.
  • Добавить связанные роли - в этом поле можно установить значение Да или Нет. Поле доступно для выбора значения только в том случае, если в поле Пользователь выбрана роль. При установке значения Да в роль будут включены также все роли, входящие в выбранную. при установке значения Нет будет включена только одна роль без подчиненных ролей.

После включения пользователя в роль он получает права доступа ко всем визуальным группам и формам, а также к группам запретов, заданным для роли.


Формирование перечня доступных визуальных групп

(одним файлом)
Формирование перечня доступных визуальных групп

Визуальные группы создаются разработчиком прикладного решения. Работа с визуальными группами ведется в Системной форме на вкладке Визуальные группы. Каждая визуальная группа содержит набор форм и также может быть снабжена иконкой. Визуальные группы отображаются на Консоли управления, которая показывается при запуске системы.

Для каждой роли (или для отдельного пользователя) формируется перечень визуальных групп, которые будут ему доступны на Консоли управления. Если визуальных групп в прикладном решение не создано, или если пользователю не доступно ни одной визуальной группы, консоль управления не будет отображена. В этом случае при открытии системы пользователь увидит первую из доступных ему форм, которая открывается автоматически.

Для добавления новой визуальной группы, доступной роли или пользователю, необходимо выбрать роль или пользователя на соответствующей вкладке (Роли или Пользователи), отрыть подчиненное представление Доступные визуальные группы и выполнить в нем действие Создать. В форме параметров нужно выбрать одну из существующих визуальных групп. Если необходимо дать доступ к нескольким визуальным группам, действие создания нужно повторить.

Если пользователь включен в несколько ролей, то достаточно наличия доступа к визуальной группе в одной из этих ролей.


Формирование перечня доступных форм

(одним файлом)
Формирование перечня доступных форм

Формы создаются разработчиком прикладного решения. Работа с визуальными группами ведется в Системной форме на вкладке Формы. Каждая форма представляет собой набор представлений, связанных друг с другом определенным образом. Иконки всех форм, доступных пользователю, отображаются на Панели инструментов в верхней части экрана. Нажимая на одну из иконок форм, пользователь может переключаться между ними. Если форма входит в одну из доступных пользователю визуальных групп, она отобразится на консоли управления. В этом случае переключаться между формами пользователь сможет как на Панели инструментов, так и на Консоли управления.

Для каждой роли (или для отдельного пользователя) формируется перечень форм, которые будут ему доступны на Консоли управления. При открытии системы пользователь видит первую из доступных ему форм, открываемую автоматически.

Для добавления новой формы, доступной роли или пользователю, необходимо выбрать роль или пользователя на соответствующей вкладке (Роли или Пользователи), отрыть подчиненное представление Доступные формы и выполнить в нем действие Создать. В форме параметров нужно выбрать одну из существующих форм. Если необходимо дать доступ к нескольким формам, действие создания нужно повторить.

Если пользователь включен в несколько ролей, то достаточно наличия доступа к форме в одной из этих ролей.


Формирование перечня групп запретов

(одним файлом)
Формирование перечня групп запретов

Группы запретов могут формироваться как разработчиком прикладного решения, так и администратором системы. Работа с группами запретов ведется на соответствующей вкладке Системной формы. В каждую группу запретов включаются запреты трех видов:

  • Запрет на класс
  • Запрет на свойство
  • Запрет на подпрограмму

Запреты на класс и свойство могут даваться как только на запись, так и на чтение и запись объектов. Наличие запретов для определенной роли или пользователя приводит к тому, что пользователь не видит или не имеет прав на модификацю объетов определенных классов или отдельных их свойств. Запреты на подпрограммы выражаются в том, что для пользователя не отображаются действия, вызывающие ряд подпрограмм.


Руководство разработчика на платформе

(раздел целиком) (одним файлом)
Руководство разработчика на платформе
  • Решения, предлагаемые технологией "Мельница данных"
  • Системный слой объектной модели "Мельница данных"
  • Наследование и переопределение членов класса и параметров подпрограмм
  • Средства моделирования пользовательского интерфейса
  • Объектно-реляционное отображение
  • Обзор возможностей Платформы
  • Этапы разработки прикладных решений
  • Интеграция
  • Положения и определения
  • Облачные вычисления
  • OLTP и OLAP


Решения, предлагаемые технологией "Мельница данных"

(одним файлом)
Решения, предлагаемые технологией "Мельница данных"

Технология "Мельница данных" предлагает решения традиционных проблем разработки и сопровождения учетных систем за счет следующих инноваций:

  1. Объектная модель хранится в системе по тем же принципам, что и модель бизнес-данных, т.е. объекты классов, описывающих метаданные системы (классы, поля, методы, свойства, пользовательские формы) хранятся в базе данных и отображаются при помощи стандартного пользовательского интерфейса. Моделирование системного слоя метаданных системы произведено разработчиками платформы. Модель системного слоя документирована и доступна для просмотра и использования разработчикам прикладных систем.
  2. Разработка прикладных учетных систем ведется в той же среде, что и работа конечных пользователей. Текущая модель прикладной системы доступна для просмотра и использования всеми разработчиками.
  3. На основе заложенной объектной модели прикладной системы автоматически генерируется SQL-код (как DML, так и DDL составляющие), что полностью освобождает разработчика прикладной системы от SQL-программирования.
  4. Пользовательские интерфейсы (формы, представления) также описываются при помощи объектной модели и хранятся в базе данных. Это позволяет автоматически генерировать формы просмотра данных и формы задания параметров методов, что освобождает разработчика прикладной системы от написания кода клиентского приложения. Для тонкого управления поведением форм задания параметров может использоваться язык VB-script.
  5. При внесении изменений в объектную модель:
    • новое состояние модели отображается в пользовательском интерфейсе в доступной для всех разработчиков форме;
    • текущая объектная модель в виде диаграммы классов может быть выгружена в HTML-отчет, что является базовой возможностью платформы;
    • внесение изменений в структуру базы данных и пользовательские интерфейсы производится автоматически средствами платформы.

Основными элементами стандартизованного пользовательского интерфейса являются развитые элементы управления, работающие с данными:

  • Таблицы данных - отображают списки объектов в табличной форме, удобной для восприятия пользователя. Таблицы данных позволяют производить сортировку, группировку объектов, фильтрацию данных по ряду условий, подведение агрегатов (количества объектов, наибольшего, наименьшего значения, суммы, среднего и т.д.), отображение и скрытие групп, подведение итогов по группе. Таблицы данных имеют функционал, позволяющий отображать иерархические структуры, а также производить произвольный отбор отображаемых объектов пользователем. Используемые таблицы данных позволяют работать с большими объемами данных без потери производительности.
  • Инспектор объектов - отображает все свойства выбранных (одного или нескольких) объектов в двух колонках: имя свойства - значение свойства. Инспектор объектов позволяет просматривать все свойства объектов, а также изменять значения свойств как одного объекта, так и для всех выделенных объектов одним действием.
  • Форма задания параметров - отображается при вызове пользователем одного из методов. На форме расположены элементы управления Поле ввода, соответствующие описанным для метода параметрам. Внешний вид и поведение элементов управления зависят от типа описанных параметров. Поведением элементов управления на форме можно управлять при помощи скрипта формы, разрабатываемого на языке VB-script.
  • Поле ввода - используется для задания значений свойств и параметров как в Таблице данных, так и в Инспекторе объектов и на формах задания параметров. Имеет функционал, позволяющий редактировать значения различных типов. Использование стандартизованного пользовательского интерфейса позволяет снизить издержки как на его сопровождение, так и на обучение пользователей работе на новых участках.

Реализованы развитые возможности интеграции с третьесторонними системами. Они обеспечиваются следующими механизмами:

  1. Возможность переноса в Microsoft Excel любого видимого представления "as-is" с сохранением всех группировок, сортировок, агрегатов и т. п.
  2. Возможность вывода отчетов в виде документов Microsoft Office с передачей в среду функционирования Office соединения с БД, что позволяет строить отчеты любой степени сложности.
  3. Возможность использования в системе любого внешнего Ole-объекта как метода любого класса без ограничений.
  4. Возможность использования скриптлетов (фрагментов кода на скриптовом языке VBScript и/или JScript) как методов системы, фактически - возможность реализации на этих языках сколь угодно сложного поведения.
  5. Возможность формирования отчетов непосредственно в виде html-документов для последующей публикации их в сети Internet.


Системный слой объектной модели "Мельница данных"

(одним файлом)
Системный слой объектной модели "Мельница данных"

Технология разработки и сопровождения учетных систем "Мельница данных" требует для своего функционирования объектную модель бизнес-сущностей. Технология диктует ряд дополнительных требований к объектной модели.

  1. Все классы наследуются от единого корня, класса TObject. Класс TObject вводит ряд элементов состояния, поведения и представления, которые наследуются всеми учитываемыми объектами в обязательном порядке.
  2. Множественное наследование не поддерживается (т.е. у каждого класса может быть один и только один родитель).
  3. Множественная инкапсуляция не поддерживается (т.е. у каждого объекта может быть один либо ни одного инкапсулирующего объекта).
  4. Простые типы данных вводятся посредством доменов. Домены определяют обязательность своих значений, а также другие характеристики, зависящие от класса домена. Домены бывают:
    • строковые (определяют максимальную длину строки);
    • целочисленные (определяют максимальное и минимальное значение целого числа);
    • вещественные (определяют максимальное и минимальное значение числа, количество значащих цифр);
    • логические;
    • значения типа "дата";
    • значения типа "время";
    • значения типа "дата со временем";
    • перечисления (определяют список возможных значений);
    • ссылка (определяют класс-приемник ссылки);
    • большие двоичные объекты (текст, изображение, файл, и т.д.).


Наследование и переопределение членов класса и параметров подпрограмм

(одним файлом)
Наследование и переопределение членов класса и параметров подпрограмм

Все члены родительского класса наследуются дочерним классом следующим образом:

Поля

Все поля родительского класса доступны в дочернем классе. При создании в дочернем классе поля с тем же именем, что и в родительском классе, класс-наследник теряет возможность напрямую манипулировать полем родительского класса и получает поле с тем же именем. Можно сказать, что новое поле "закрывает" старое, но не "замещает" его.

Методы

Все методы родительского класса наследуются дочерним классом. При создании в дочернем классе метода с тем же именем, что и в родительском классе, метод переопределяется, т.е. вместо старого метода будет существовать новый. Единственный способом обратиться к старому (унаследованному) методу является использование в теле метода оператора унаследованного вызова inherited (см. раздел 5.3.14.). Переопределенный метод имеет все параметры родительского метода и может расширять список параметров, а также переопределять унаследованные параметры (создавая параметры с тем же именем и изменяя любой другой атрибут параметра по своему усмотрению). Скрипты форм задания параметров не наследуются и должны быть полностью заданы в переопределенном методе. Изображения-иконки методов наследуются и могут не переопределяться явно.

Свойства

Все свойства родительского класса доступны в дочернем классе. При создании в дочернем классе свойства с тем же именем, что и в родительском классе, класс-наследник теряет возможность напрямую манипулировать свойством родительского класса и получает свойство с тем же именем. Можно сказать, что новое свойство "закрывает" старое, но не "замещает" его. На практике часто бывает необходимо в унаследованном методе (особенно в конструкторе) скрыть часть параметров от пользователя, либо сузить область выбора значений для каких либо параметров. В этом случае необходимо переопределить параметры в унаследованном методе с новыми значениями свойства Scope ("Область видимости") или Domain ("Домен"). Это нормальная рекомендуемая практика. Необходимо понимать, что скрыв с формы элемент управления, соответствующий параметру, значение которого обязательно, необходимо предусмотреть, чтобы этот параметр получил значение до вызова унаследованного метода, либо из скрипта формы задания параметров, либо в теле самого метода.

В конструкторе класса, унаследованного от класса TObject, переопределен параметр Name, таким образом, что в свойстве "Область видимости" установлено значение "Не видимо пользователям". При этом тело метода конструктора должно выглядеть следующим образом:
begin
  Name := UniqueValue;                    (1)
  inherited;                         (2)
  // инициализация собственных полей
end;
Параметр конструктора Description, унаследованный от конструктора класса TObject останется видимым и его значение будет в обязательном порядке установлено пользователем при помощи формы задания параметров. Значения параметров Parent и Master будут определены из контекста вызова или запрошены у пользователя. Параметр Name не будет отображен на форме задания параметров и в начале выполнения тела метода его значение будет пустым (nil). В связи с этим в строке (1) тела метода производится установка значения параметра Name при помощи функции UniqueValue. Если этого не сделать, то вызов унаследованного метода при помощи оператора inherited вернет ошибку, связанную с тем, что параметр Name имеет недопустимое значение.


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

(раздел целиком) (одним файлом)
Средства моделирования пользовательского интерфейса
  • Представления
  • Визуальные группы
  • Формы, связь представлений в формах


Представления

(одним файлом)
Представления

Этот раздел еще предстоит написать.


Визуальные группы

(одним файлом)
Визуальные группы

Этот раздел еще предстоит написать.


Формы, связь представлений в формах

(одним файлом)
Формы, связь представлений в формах

Этот раздел еще предстоит написать.


Объектно-реляционное отображение

(одним файлом)
Объектно-реляционное отображение

Этот раздел еще предстоит написать.


Обзор возможностей Платформы

(одним файлом)
Обзор возможностей Платформы

Этот раздел еще предстоит написать.


Этапы разработки прикладных решений

(раздел целиком) (одним файлом)
Этапы разработки прикладных решений
  • Формирование видения модели
  • Создание структур хранения и средств обработки данных
  • Синхронизаци базы данных
  • Создание пользователей и ролей
  • Средства моделирования пользовательских интерфейсов
  • Разработка отчетов
  • Поставка решений


Формирование видения модели

(одним файлом)
Формирование видения модели

Этот раздел еще предстоит написать.


Создание структур хранения и средств обработки данных

(раздел целиком) (одним файлом)
Создание структур хранения и средств обработки данных
  • Класс TObject, члены класса TОbject
  • Создание классов
  • Создание полей
  • Создание свойств
  • Создание методов


Класс TObject, члены класса TОbject

(одним файлом)
Класс TObject, члены класса TОbject

Этот раздел еще предстоит написать.


Создание классов

(одним файлом)
Создание классов

Этот раздел еще предстоит написать.


Создание полей

(одним файлом)
Создание полей

Этот раздел еще предстоит написать.


Создание свойств

(одним файлом)
Создание свойств

Этот раздел еще предстоит написать.


Создание методов

(одним файлом)
Создание методов

Этот раздел еще предстоит написать.


Синхронизаци базы данных

(одним файлом)
Синхронизаци базы данных

Этот раздел еще предстоит написать.


Создание пользователей и ролей

(одним файлом)
Создание пользователей и ролей

Этот раздел еще предстоит написать.


Средства моделирования пользовательских интерфейсов

(раздел целиком) (одним файлом)
Средства моделирования пользовательских интерфейсов
  • Представления
  • Формы. Включение представлений в формы
  • Визуальные группы. Включение форм в визуальные группы
  • Организация доступа пользователей к формам и визуальным группам


Формы. Включение представлений в формы

(одним файлом)
Формы. Включение представлений в формы

Этот раздел еще предстоит написать.


Визуальные группы. Включение форм в визуальные группы

(одним файлом)
Визуальные группы. Включение форм в визуальные группы

Этот раздел еще предстоит написать.


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

(одним файлом)
Организация доступа пользователей к формам и визуальным группам

Этот раздел еще предстоит написать.


Разработка отчетов

(раздел целиком) (одним файлом)
Разработка отчетов
  • Создание шаблонов PDF-отчетов


Создание шаблонов PDF-отчетов

(раздел целиком) (одним файлом)
Создание шаблонов PDF-отчетов
  • Описание
  • Методы
  • Порядок создания


Описание

(одним файлом)
Описание

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.

Все размеры графических объектов, размеры страниц, шрифтов и т.п. по умолчанию заданы в миллиметрах.
Для удобства построения шаблона PDF-документа создана функция DrawGrid. При ее включении при отладке при создании шаблона будет отображена визуальная сетка с шагом 5 миллиметров.


Методы

(раздел целиком) (одним файлом)
Методы
  • Свойства документа
  • Свойства страницы
  • Графика
  • Шрифты


Свойства документа

(одним файлом)
Свойства документа

Для создания и описания свойств PDF-документа в библиотеке PDFCreator.dll используется класс IPDFDocument, обладающий следующими свойствами:

  • Title (WideString) - заголовок документа. По умолчанию - пустая строка.
    Title = "DOC1"
  • CanEmbedFonts (WordBool) - Признак возможности построения PDF- документа со встроенными шрифтами (Embedded Fonts). В случае включения признака, все объявленные в скрипте шрифты будут включены в сборку документа и будут передаваться целиком вместе с документом. По умолчанию - False.
    CanEmbedFonts = True

CanEmbedFonts = False
  • CanCompress (WordBool) - признак сжатия документа при создании по собственным алгоритмам. По умолчанию - True.
    CanCompress = False

CanCompress = True
  • Author (WideString) - автор документа. По умолчанию - текущий пользователь ОС.
  • Subject (WideString) - описание документа. По умолчанию - пустая строка.
  • Keywords (WideString) - ключевые слова для поиска по документу. По умолчанию - пустая строка.
  • Creator (WideString) - приложение-родитель документа. Указывается в том случае, если документ был сконвертирован из другого формата.
  • PageCount (Integer) - свойство, содержащее общее количество страниц в документе.
  • Pages[Index: Integer]: IPDFPage - свойство документа, предназначенное для перебора страниц документа для совершения над ними однотипных действий.

    Пример использования:

    for I = 0 to PageCount - 1
  Pages(I).rectangle 10,10,10,10, false
next
Save "c:\pdf.pdf"

    Результат: На всех страницах документа будут нарисованы квадраты 10х10 мм.
  • procedure Save(Target: OleVariant) - процедура для сохранения документа PDF на жесткий диск сразу после создания.
    Save "c:\pdf.pdf"
    - сохранит документ в файл c:\pdf.pdf


Свойства страницы

(раздел целиком) (одним файлом)
Свойства страницы

Для создания страницы используется функция

function CreatePage(Parent: OleVariant): IPDFPage;

Параметр Parent указывает страницу-родителя для данной страницы. Если страницы- родителя быть не должно - формат вызова функции примет вид:

set page = CreatePage(Null)

Параметры страницы:

  • Title - заголовок страницы.
    page.Title = "Page name"
  • Width - ширина страницы, миллиметры
    page.Width = 80
  • Height - высота страницы, миллиметры
    page.Height = 80
  • DrawGrid - процедура, выводящая на страницу сетку с шагом 5 миллиметров для удобства отладки вида документа.
  • Perform - процедура, позволяющая выполнить дополнительные команды PostScript на странице.
    page.perform "1 0.7 0 0 k"
    page.perform "0 0 m"
  • Объявление цвета


Объявление цвета

(одним файлом)
Объявление цвета

Для объявления цвета объектов на странице используется цветовая модель R:G:B (Red:Green:Blue). Объявление цвета для выполнения последующих операций (цвет шрифта, цвет линии/фигуры) осуществляется процедурой

procedure SetColor(R: Integer; G: Integer; B: Integer);
Где параметры R, G, B - значения базисных цветов для выбранного цвета (от 0 до 255).

Цвет | R | G | B |
Белый | 255 | 255 | 255 | +++
Черный | 0 | 0 | 0 | +++
Серый | 190 | 190 | 190 | +++
Синий | 0 | 0 | 255 | +++
Красный | 255 | 0 | 0 | +++
Зеленый | 0 | 255 | 0 | +++

Если предварительно цвет не был объявлен, используется цвет по умолчанию - черный (0,0,0)


Графика

(раздел целиком) (одним файлом)
Графика
  • Линии
  • Прямоугольник
  • Вставка готовых изображений
  • Векторная графика


Линии

(одним файлом)
Линии

Для отрисовки линий используется процедура

procedure Line(X1: Double; Y1: Double; X2: Double; Y2: Double);
Здесь:

  • X1 - координата начала линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y1 - координата начала линии по вертикали в миллиметрах от верхнего левого угла листа.
  • X2 - координата конца линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y2 - координата Конца линии по вертикали в миллиметрах от верхнего левого угла листа.

Для задания толщины линии используется свойство

property LineWidth: Double
Значение толщины задается в миллиметрах. Значение по умолчанию - минимально возможная единица рисования для устройства. Так для монитора - 1 pixel, для принтера - 1 dot (точка)

Для задания стиля отрисовки начала/окончания линии используется свойство property LineCap: TPDFLineCap
Возможные стили:
Значение свойства: | Отображение: | Описание:
0 | Линия 0 | Прямой срез точно по точкам начала и окончания линии (по умолчанию)
1 | Линия 1 | С закруглением
2 | Линия 2 | Прямой срез с продолжением линии на половину толщины линии

Объявление цвета линии.

Две линии разной толщины, с разными окончаниями и цветами:
set page = CreatePage(Null)

page.DrawGrid

page.LineCap = 1

page.LineWidth = 2

page.Line 10, 10, 30, 30

page.LineWidth = 4

page.SetColor 255, 0, 0

page.LineCap = 2

page.Line 10, 30, 30, 10."I

Результат:
2 линии

При необходимости соединения линий под углом в определенной точке можно задать тип соединения. Для объявления типа соединения используется свойство property LineJoin: TPDFLineJoin;
Типы соединения двух линий:
Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пунктир

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

Процедура procedure SetDash(DashArray: OleVariant; Phase: Integer); Здесь DashArray - массив значений в миллиметрах, указывающий последовательность чередования штрихов и пропусков на линии, Phase - смещение в миллиметрах по линии.

Пример 1. Штрих 10 мм, Промежуток 5 мм, Смещения нет
Пример 2. Штрих 10 мм, Промежуток 5 мм, Смещение 5 мм
Пример 3. Различные значения штрихов и промежутков, Смещения нет
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.SetDash Array(10, 5), 0

page.Line 10, 10, 100, 10

page.SetDash Array(10, 5), 5

page.Line 10, 20, 100, 20

page.SetDash Array(10, 5, 3, 2, 12, 20), 0

page.Line 10, 30, 100, 30

Результат:
Пунктир 1

Ломанная линия - здесь непрерывная линия, состоящая из нескольких прямых. Для отображения ломанной используется процедура procedure Poly(Points: OleVariant; Fill: WordBool), где Points - массив координат точек соединяемых прямыми, а Fill - признак заливки полученной замкнутой фигуры (если замкнута).

Пример Звезда без заливки
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), false

Результат:
Звезда
Пример Звезда с заливкой
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), true

Результат:
Звезда заливка


Прямоугольник

(одним файлом)
Прямоугольник

Rectangle (Прямоугольник) - для создания используется процедура:

procedure Rectangle(X1: Double; Y1: Double; Width: Double; Height: Double; Fill: WordBool);
Здесь:

  • X1 - координата верхнего левого угла прямоугольника по горизонтали в миллиметрах от верхнего левого угла листа шаблона.
  • Y1 - координата верхнего левого угла прямоугольника по вертикали в миллиметрах от верхнего левого угла листа шаблона.
  • Width - ширина прямоугольника с миллиметрах.
  • Height - высота прямоугольника с миллиметрах.
  • Fill - признак заливки прямоугольника (True/False). Если значение True то заливка производится объявленным заранее цветом (см. Объявление цвета). Если False - заливка не производится. Прямоугольник отрисовывается линиями с предварительно заданной толщиной. См. Линии
Пример 1. Создание красного прямоугольника:
set page = CreatePage(Null)

page.SetColor 255, 0, 0

page.Rectangle 10, 15, 40, 20, True

page.DrawGrid
Результат:
Прямоугольник
Пример 2. Пустой прямоугольник без задания цвета:
set page = CreatePage(Null)

page.DrawGrid

page.Rectangle 12, 17, 42, 25, false

page.DrawGrid

Результат:
Прямоугольник false

Также существует возможность изменения стиля отображения углов прямоугольника. Для этого нужно использовать свойство property LineJoin: TPDFLineJoin;

Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пример построения прямоугольников с различными типами соединения сторон:

set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 4

page.LineJoin = 0

page.Rectangle 10, 10, 20, 10, false

page.LineJoin = 1

page.Rectangle 40, 10, 20, 10, false

page.LineJoin = 2

page.Rectangle 70, 10, 20, 10, false

Результат:
3 прямоугольника


Вставка готовых изображений

(одним файлом)
Вставка готовых изображений

Для вставки на создаваемую страницу готового изображения используется процедура procedure Image(const FileName: WideString; X: Double; Y: Double; Width: Double; Height: Double)

Параметры:

  • const FileName - имя файла изображения и путь к нему на жестком диске. Задается в кавычках.
  • X - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по горизонтали в миллиметрах
  • Y - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по вертикали в миллиметрах
  • Width - ширина изображения в миллиметрах
  • Height - высота изображения в миллиметрах.
set page = CreatePage(Null)
page.drawgrid
page.Image "c:\mill.bmp", 10,10, 30, 30

Результат:
Картинка

Вне зависимости от размера исходного изображения, при вставке изображения на создаваемую страницу оно будет растянуто по размерам, прописанным в процедуре.


Векторная графика

(одним файлом)
Векторная графика

Язык PostScript, с помощью которого создаются векторные изображения для PDF-документа, поддерживает создание типичных примитивных объектов, таких как:

  • Прямые и ломанные линии
  • Многоугольники
  • Окружности и эллипсы
  • Кривые Безье
  • Текст

При создании векторного изображения на странице PDF-документа в приложениях Платформы, команды построения примитивных объектов PostScript передаются на исполнение при помощи процедуры Perform. Подробнее об операторах и командах PostScript для создания PDF-документов можно узнать на сайте Adobe


Шрифты

(одним файлом)
Шрифты

Шрифты, которые должны использоваться в создаваемом документе, должны быть предварительно объявлены. Для объявления используемых шрифтов используется функция
function CreateFont(const FontName: WideString; Size: Double; Bold: WordBool; Italic: WordBool): IPDFFont; где:

  • const FontName - имя шрифта, аналогичное имени объявляемого шрифта в операционной системе. В Функции объявляется в кавычках.
  • Size - размер шрифта в пунктах
  • Bold - признак начертания шрифта "жирный". Значения - True или False
  • Italic - признак начертания шрифта "курсив". Значения - True или False
Примеры объявления шрифтов:
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)

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

  • procedure WriteLine(const LineText: WideString; X: Double; Y: Double);
    - используется для вывода текстовой строки
  • function WriteText(const AText: WideString; X: Double; Y: Double; Width: Double; Alignment: TPDFTextAlignment): Double;
    - используется для вывода текстового блока.

Параметры для procedure WriteLine :

  • const LineText - текстовая строка для вывода. Прописывается в кавычках. Будет выведена на страницу одной строкой.
  • X - координата верхней левой точки текстовой строки по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстовой строки по вертикали в миллиметрах.
Примеры вывода текстов на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)
Font.WriteLine "Фамилия", 5, 2
Font.WriteLine "Имя", 5, 10
Font.WriteLine "Отчество", 5, 18
labelFont.WriteLine "Дата рождения", 5, 26
dataFont.WriteLine "Национальность", 5, 34

Результат:
Разные шрифты

Параметры для function WriteText :

  • const AText - текст для вывода на страницу. Прописывается в кавычках. Будет выведена на страницу в виде текстового блока.
  • X - координата верхней левой точки текстового блока по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстового блока по вертикали в миллиметрах.
  • Width - ширина текстового блока в миллиметрах
  • Alignment - тип выравнивания текста в текстовом блоке.
    Значение параметра | Тип выравнивания
    0 | По левому краю
    1 | По правому краю
    2 | По центру
    3 | Выравнивание по ширине
Примеры вывода текстовых блоков на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Times New Roman", 12, False, True)
set dataFont = page.createFont("Tahoma", 11, True, False)
Q = font.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 5, 100, 0)
Q = labelFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 35, 100, 1)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 55, 100, 2)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 80, 100, 3)

Результат:
Выравнивание

Свойства шрифтов:

property Spacing: Double; - свойство, отвечающее за величину промежутка между буквами в слове. Задается в виде отклонения от промежутка между буквами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Spacing = 0
labelFont.Spacing = 1
dataFont.Spacing = 2
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (1 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 15

Результат:
Промежуток букв

property WordSpacing: Double; - свойство, отвечающее за величину промежутка между соседними словами. Задается в виде отклонения от промежутка между словами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.WordSpacing = 0
labelFont.WordSpacing = 2
dataFont.WordSpacing = 5
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (5 мм)", 5, 15

Результат:
Промежуток слов

property Scaling: Double; - свойство, отвечающее за горизонтальное масштабирование букв используемого шрифта. Устанавливается в процентах. Горизонтальный масштаб по умолчанию - 100%.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Scaling = 50
labelFont.Scaling = 100
dataFont.Scaling = 200
font.WriteLine "Сжатие (50)", 5, 5
labelFont.WriteLine "По умолчанию (100)", 5, 10
dataFont.WriteLine "Растягивание (150)", 5, 15

Результат:
Scaling

property RenderingMode: TPDFFontRenderingMode; - свойство, отвечающее за заливку букв используемого шрифта.
Типы заливки:
Значение параметра: | Отображение: | Описание:
0 | Font Fill | Сплошная заливка (по умолчанию). Буква заливается сплошным цветом, объявленным на данный момент.
1 | Font Stroke | Только граница. Прорисовывается граница буквы. Тело остается незалитым.
2 | Font FillStroke | Сначала заливка, потом граница. Граница прорисовывается всегда черным цветом. Заливка осуществляется сплошным цветом, объявленным на данный момент.
3 | Inv | Невидимый шрифт.

Пример:
set page = CreatePage(Null)
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 20, False, False)
set dataFont = page.createFont("Arial", 20, False, False)
font.RenderingMode = 0
labelFont.RenderingMode = 1
dataFont.RenderingMode = 2
page.setColor 255, 0, 0
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 5, 15, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 5, 25, 50, 0)

Результат:
Заливка букв

property Rise: Double; - свойство, отвечающее за перемещение текста по вертикали.

set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 7, False, False)
set dataFont = page.createFont("Arial", 7, False, False)
labelFont.rise = -17
dataFont.rise = -2
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 44, 5, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 44, 5, 50, 0)

Результат:
Rise

Для определения размеров текстовой строки используется процедура MeasureLine(const LineText: WideString; out Width: OleVariant; out Height: OleVariant);

Здесь:

  • LineText - исходный текст для размещения на странице
  • Width - возвращаемый параметр ширины текстового блока на странице
  • Height - возвращаемый параметр высоты текстового блока на странице
S = "шифр"
font.MeasureLine S, W, H
Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2)

Здесь для текста "Шифр" замеряется ширина и высота получившегося текстового блока. Затем полученные данные используются для корректного размещения текста на странице.

Для определения высоты текстового блока используется функция MeasureText(const AText: WideString; Width: Double): Double; safecall;

Функция распределит текст по задаваемому значению ширины текстового блока и вернет значение высоты текстового блока в милиметрах.

Здесь:

  • AText - исходный текст для размещения на странице. Прописывается в кавычках.
  • Width - задаваемая ширина текстового блока на странице в милиметрах.
S = "Текст для размещения на странице..."
Q = font.MeasureText(S, 139)
Здесь для текста "Текст для размещения на странице..." замеряется высота получившегося текстового блока. Затем полученные данные могут использоваться для корректного размещения текста на странице.


Порядок создания

(одним файлом)
Порядок создания

Для создания шаблона PDF-документа необходимо в системной форме Платформы выбрать класс, к которому будет строиться документ. В подменю "Подпрограммы" вызвать контекстное меню и выбрать пункт "Создать шаблон отчета PDF". Заполнить необходимые поля и приступить к созданию скрипта в окне "Скрипт шаблона".

  1. Объявляем все переменные.
  2. Создаем страницы
  3. Устанавливаем все свойства документа и страниц
  4. Рисуем простые графические объекты
  5. Объявляем все используемые шрифты
  6. Расставляем постоянный текст на странице
  7. Расставляем переменный текст на странице
  8. Вставляем или создаем сложные графические объекты
Пример документа PDF:
set LDataSet = createDataSet("TRoundAbiturSt")
'Объявление переменных
LDataSet.AddQueryItem 1, "ID", ID
LDataSet.AddQueryItem 0, "RoundComp$N"
LDataSet.AddQueryItem 0, "BachRound$N"
LDataSet.AddQueryItem 0, "LastName"
LDataSet.AddQueryItem 0, "FirstName"
LDataSet.AddQueryItem 0, "MiddleName"
LDataSet.AddQueryItem 0, "BirthDate"
LDataSet.AddQueryItem 0, "RegNumber"
LDataSet.AddQueryItem 0, "SecondStageCity$D"
LDataSet.AddQueryItem 0, "PhoneList"

'Присваивание переменным значений
OlympName = LDataSet.Field("RoundComp$N")
OlympClass = LDataSet.Field("BachRound$N")
LastName = LDataSet.Field("LastName")
FirstName = LDataSet.Field("FirstName")
MiddleName = LDataSet.Field("MiddleName")
if not IsNull(LDataSet.Field("BirthDate")) then
  BirthDate = LDataSet.Field("BirthDate")
else
  BirthDate = "(не задана)"
end if
RegNo = LDataSet.Field("RegNumber")
if not IsNull(LDataSet.Field("SecondStageCity$D")) then
  OlympCity = LDataSet.Field("SecondStageCity$D")
else
  OlympCity = "(не выбран город участия)"
end if
if not IsNull(LDataSet.Field("PhoneList")) then
  Phone = LDataSet.Field("PhoneList")
else
  Phone = ""
end if

'CanCompress = False - признак сжатия файла
set page = CreatePage(Null) ' создаем страницу
'Объявляем используемые шрифты
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 16, False, False)
set dataFont = page.createFont("Arial", 18, True, False)
set bigFont = page.createFont("Arial", 24, False, False)

'page.DrawGrid  - рисуем сетку для удобства отладки

page.LineWidth = 0.5 ' Установка толщины линии

' Рисуем прямоугольники
page.Rectangle 8, 12, 4, 4, True
page.Rectangle 190, 12, 4, 4, True

page.Rectangle 8, 273, 4, 4, True
page.Rectangle 105, 273, 4, 4, True
page.Rectangle 190, 273, 4, 4, True

'Выводим постоянный и переменный текст
Q = font.WriteText ("Межрегиональная олимпиада школьников", 12, 20, 178, 2)
Q = bigFont.WriteText (OlympName, 12, 45, 178, 2)
Q = bigFont.WriteText (OlympClass, 12, 56, 178, 2)

Q = font.WriteText ("Титульный лист", 12, 72, 178, 2)

labelFont.WriteLine "Фамилия", 25, 115 - 23
labelFont.WriteLine "Имя", 25, 123 - 23
labelFont.WriteLine "Отчество", 25, 131 - 23
labelFont.WriteLine "Дата", 25, 139 - 23
labelFont.WriteLine "рождения", 25, 145 - 23

labelFont.WriteLine "Регистрационный номер", 25, 169 - 30
labelFont.WriteLine "Город проведения", 25, 177 - 30
labelFont.WriteLine "Аудитория", 25, 185 - 30

labelFont.WriteLine "Дата", 25, 211
labelFont.WriteLine "Подпись", 25, 219
labelFont.WriteLine "Телефон", 25, 227

dataFont.WriteLine LastName, 63, 114 - 23
dataFont.WriteLine FirstName, 63, 122 - 23
dataFont.WriteLine MiddleName, 63, 130 - 23
dataFont.WriteLine BirthDate, 63, 141 - 23

dataFont.WriteLine RegNo, 100, 168 - 30
dataFont.WriteLine OlympCity, 100, 176 - 30

' Рисуем линии
page.line 100, 192 - 30, 150, 192 - 30
page.line 58, 218, 108, 218
page.line 58, 226, 108, 226
Q = dataFont.WriteText(Phone, 58, 226, 65, 0)

' Устанавливаем новый цвет
page.setColor 192, 192, 192

S = "шифр"
font.MeasureLine S, W, H  ' измеряем текстовый блок
Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2) ' располагаем текстовый
блок на странице

' Устанавливаем новый цвет
page.setColor 255, 0, 0
' Устанавливаем толщину линий в 1 пиксель
page.LineWidth = 0
' Рисуем линии по координатам
X = 139
Y = 267

page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

X = X + 40
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

Y = Y - 23
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

X = X - 40
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

Результат:


Поставка решений

(одним файлом)
Поставка решений

Этот раздел еще предстоит написать.


Интеграция

(раздел целиком) (одним файлом)
Интеграция

Интеграция - комплекс работ по настройке механизмов взаимодействия между различными учетными системами, которые функционируют независимо друг от друга в одной организационной структуре ("лоскутная" автоматизация).

Концептуально реализация интеграции может быть осуществлена двумя способами (рассмотрены более подробно далее):

  • Интеграция на базе интеграционной платформы (некоего ядра, которое осуществляет взаимодействие между учетными системами)
  • Интеграция без внедрения интеграционной платформы, с использованием связей между учетными системами только там где это необходимо.

Практически, реализация интеграции может быть осуществлена слежующими способами:

  • Интеграция данных
  • Интеграция функций


Интеграция данных

(раздел целиком) (одним файлом)
Интеграция данных

В свою очередь интеграцию данных можно разделить на два типа:

  • Репликативная интеграция
  • On-Line доступ


Репликативная интеграция

(одним файлом)
Репликативная интеграция

Репликативная интеграция - передающая сторона формирует реплику, передает ее принимающей стороне, которая в свою очередь загружает в себя реплику. В этом случае стандартами формата реплики являются двоичный формат и XML-схема. Платформа Мельница Данных имеет готовые механизмы для реализации обоих форматов.

Варианты реализации репликационной интеграции:

1. Данные должны быть переданы из сторонней учетной системы и загружены в Платформу Мельница данных:

В Платформе уже реализованы механизмы загрузки реплик в двоичном (бинарном) формате, а также в формате XML-схемы. В случае, если разработчики или сопровождающие сотрудники сторонней учетной системы имеют возможность выгрузки реплики в данных форматах, взаимодействие производится стандартными средствами Платформы. В противном случае создается конвертер для перевода данных реплики в один из стандартных форматов для дальнейшей загрузки реплики в Мельницу Данных.

2. Данные должны быть переданы из Платформы Мельница Данных и загружены в стороннюю учетную систему:

При необходимости выгрузки данных из Платформы Мельница Данных используются стандартные механизмы выгрузки реплики в двоичном (бинарном) формате или в формате XML-схемы. В случае, если эти варианты не являются приемлемыми для принимающей стороны (сторонней учетной системы), можно выполнить выгрузку данных через скриптлет, Microsoft Excel-файл, отчет или любыми механизмами просто выгрузить требуемый файл для дальнейшей обработки (загрузки) принимающей стороной. В этом случае необходимо четкое согласование протоколов и форматов обмена данными.

3. Данные должны быть переданы из одной сторонней учетной системы в другую. При этом Платформа Мельница Данных выступает в качестве интеграционной платформы:

МД - интеграционное ядро

Если Платформа выступает в качестве интеграционного ядра, в ней необходимо объявить структуры для хранения тех элементов данных, которые в Платформе по умолчанию не хранятся, но загружаются в нее из сторонних учетных систем и в дальнейшем подлежат какому-либо анализу. При этом нет необходимости обеспечивать функционирование бизнес-процессов над этими данными в рамках Платформы, данные просто хранятся.

Подобная интеграция осуществляется простыми готовыми средствами платформы в самые сжатые сроки.


On-Line доступ

(одним файлом)
On-Line доступ

Второй путь интеграции данных - Интеграция с использованием доступа к данным в режиме On-Line.

1. В том случае когда Платформа является серверной стороной, то есть стороной-поставщиком данных для других систем, возможны следующие варианты предоставления данных:

- СУБД, то есть база данных, которая хранит все данные Платформы. На данный момент поддерживаются Oracle, Firebird, MS SQL. Возможна реализация поддержки и других систем управления базами данных. Для указанных баз данных доступны стандартные протоколы доступа, с помощью которых осуществляются запросы к данным Платформы непосредственно. Запросы формируются при помощи стандартизированного языка запросов Structured Query Language (SQL).

- RESTful-сервис используется для реализации более сложной механики предоставления доступа к данным и входит в состав поставки сервера приложений Платформы. С его помощью, в частности, осуществляется удаленный доступ и доступ к данным через SOAP (Simple Object Access Protocol — простой протокол доступа к объектам) с автоматическим формированием по данным Платформы WSDL-документа, описывающего сервисы. Таким образом реализуется продвинутый функционал по отбору объекта по критериям, а также в части доступа ко всем данным Платформы по протоколу SOAP/

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

Практический пример реализации:

Компания "Мельница технологий" в одном из московских ВУЗов осуществяла интеграцию с тестирующей системой по проведению олимпиад. С использованием протокола SOAP в тестирующую систему из Платформы предоставлялась информация о реквизитах олимпиад, которые были выбраны каждым школьником-участником. Был реализован обработчик-"переходник", через который передавалсь информация.

Для системы LMS (Learning Management System) компании Asteros данные также предоставляются по протоколу SOAP.

2. В случае когда Платформе необходим доступ к данным сторонних систем, используется готовый RESTful-"обработчик". Частными случаями данной ситуции являются взаимодействия Платформы с различными собственными web-приложениями, а также с "Обозревателем данных", работающим через удаленный доступ.

Для получения данных в режиме On-Line от сторонних систем используются те же стандартные протоколы. При необходимости создаются "обработчики", которые отображают для конечного пользователя в визуальных формах Платформы данные, полученные из сторонних систем.

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


Интеграция функций

(раздел целиком) (одним файлом)
Интеграция функций
Данный тип развития интеграции в свою очередь можно разделить на 2 пути:
  • Взаимные вызовы
  • Встраивание


Взаимные вызовы

(одним файлом)
Взаимные вызовы

В данном случае подразумевается, что какая-либо учетная система открывает возможность вызова своих встроенных функций из сторонних систем.

Доступ к функциям возможен с помощью выполнения хранимых процедур (каждое бизнес-действие, которое производит пользователь, обязательно оформляется в виде хранимой процедуры на уровне СУБД Платформы). Процедуру можно вызывать, получив доступ к СУБД. Аналогично тому, как создаются select-запросы, запросы к данным, можно делать запросы, вызывающие бизнес-функции. Все методы, отчеты, и все, что доступно пользователю, может быть вызвано и через RESTful-сервис. При этом методы будут выполняться, отчеты будут формироваться в виде Excel, Word, PDF, HTML, в соответствии с запросом вызывающей стороны. Данный функционал обеспечивается готовым "обработчиком", входящим в состав поставки Платформы.

С помощью протокола SOAP можно вызывать любой метод любого объекта, получать результаты его выполнения без ограничений.

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

Пример реализации:

В ВУЗе при формировании приказа о зачислении студента в Платформе, также автоматически создается объект "Приказ" в системе документооборота ВУЗа. В дальнейшем, передвижение приказа по маршруту согласования в решении на Платформе аналогично отображается в системе документооборота.

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


Встраивание

(одним файлом)
Встраивание

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

Существуют разные способы реализации данного пути:

- В open-source системах, как правило, слой доступа к данным вынесен в некий отдельный модуль. Характерный пример - это LMS eFront. Это Open-Source разработка, содержащая в себе большой объем php-кода, с развитым web-интерфейсом, и, в том числе, содержащая модуль доступа к данным. В процессе работы создается база MySQL база достаточно примитивной структуры. В этом случае можно изменить модуль доступа, так, чтобы вместо запросов к MySQL-базе механика делала бы запросы к базе данных Платформы. Тогда исполнение php-кода, его интерпретация происходит в рамках сервера приложений Платформы.

Пример реализации:

Так как в базе данных Платформы уже хранятся данные о студентах, преподавателях, курсах и т.д., то при взаимодействии с системой обучения LMS, естественным, удобным и надежным решением является хранение все этих данных в одной базе данных

- В тех случаях, когда решения Платформы сами являются частью какой-либо более общей системы, и должны предоставлять свои функции, то это решается на уровне СУБД. То есть, сгенерированный Платформой прикладной код (код на соответствующем диалекте SQL) может быть интегрирован в код более масштабного хранилища, функционировать там, исполняться там, если в этом есть необходимость.

Прикладные системы на базе СУБД Teradata позволяют использовать PL/SQL-код для каких-либо наборов данных, притом, что сама база гораздо имеет продвинутые возможности автоматического контроля версий, хроникальности, аналитики.


Положения и определения

(раздел целиком) (одним файлом)
Положения и определения
  • Работа с типами данных
  • Язык PascalScript
  • Интерфейсы взаимодействия с внешними подсистемами
  • Справочник по метаданным
  • Терминология


Работа с типами данных

(раздел целиком) (одним файлом)
Работа с типами данных
  • Домены


Домены

(одним файлом)
Домены

Этот раздел еще предстоит написать.


Язык PascalScript

(раздел целиком) (одним файлом)
Язык PascalScript

На языке PascalScript на платформе "Мельница данных" описываются тела методов и выражения. Выражения используются в условиях отбора объектов определенного класса при их отображении в представлениях, а также как встраиваемые выражения, которые могут служить членами класса для чтения свойств.

Здесь и далее зарезервированные слова выделены жирным шрифтом.

  • Структура программного блока тела метода
  • Описание переменных
  • Операторы PascalScript
  • Выражения и операции
  • Формальная грамматика
  • Соглашения


Структура программного блока тела метода

(одним файлом)
Структура программного блока тела метода
  [Описание переменных]
  begin
    //Операторы
  end;

Комментарии расположены между символами { и } либо от символов // до конца строки.


Описание переменных

(одним файлом)
Описание переменных
var
    Имя переменной[, Имя переменной…]: Тип;
    Имя переменной[, Имя переменной…]: Тип;
    ...
Имя переменной должно быть идентификатором (последовательность символов a-z, A-Z, 0-9, _). "Тип" может быть одним из следующих:
  • integer - определяет переменные целочисленного типа;
  • string[целое_число] - определяет переменные строкового типа с заданной максимальной длиной; максимальная длина задается в квадратных скобках и обязательна для задания;
  • float - определяет переменные вещественного типа;
  • date - определяет переменные типа "дата";
  • time - определяет переменные типа "время";
  • datetime - определяет переменные типа "дата со временем";
  • boolean - определяет переменные логического типа;
  • blob - определяет переменные типа больших двоичных объектов;
  • Имя класса - определяет переменные-ссылки на экземпляры соответствующих классов;
  var
   I: integer;
   LSomeObject: TObject;
   LStart, LStop: datetime;
   LNewName: string[64];


Операторы PascalScript

(раздел целиком) (одним файлом)
Операторы PascalScript

Операторы разделяются точкой с запятой (;). Операторы могут быть одним из следующих:

  • Составной оператор
  • Оператор присваивания
  • Оператор вызова
  • Оператор ветвления
  • Оператор выбора
  • Цикл с предусловием
  • Цикл с постусловием
  • Цикл с параметром
  • Цикл по экземплярам
  • Оператор прекращения цикла
  • Оператор выхода из подпрограммы
  • Оператор защиты завершения
  • Оператор обработки исключительных ситуаций
  • Оператор возбуждения исключения
  • Оператор унаследованного вызова


Составной оператор

(одним файлом)
Составной оператор
begin
  //Другие операторы
end
Операторы, размещенные внутри составного оператора, разделяются точкой с запятой. Никаких ограничений на состав операторов и количество уровней вложенности не накладывается.
begin
  Result := LCurrentValue;
  Exit;
end;


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

(одним файлом)
Оператор присваивания
Выражение1 := Выражение2

Присваивает значение выражения Выражение2 выражению Выражение1. Типы Выражения1 и Выражения2 должны быть совместимы (совпадать по классу домена либо оба быть числовыми). Для этого на Выражение1 (стоящее слева от знака равенства, lvalue) накладывается ряд ограничений. Это выражение должно быть:

  • Полем или свойством экземпляра класса
  • Локальной переменной
  • Параметром
  • Зарезервированной переменной Result
LObject.Name := 'Новое имя';
Result := 25;
LStartTime := StrToDateTime('01.01.2006 00:00:30');
var
  LObject: TObject;
  LClass: TClass;
  I: Integer;
  F: Float;
begin
  I := F;  //неверно
  F := I;  //верно
  LObject := LClass; //верно
  LClass := LObject; //неверно. Должно быть LClass := (LObject as TClass);
end;


Оператор вызова

(одним файлом)
Оператор вызова
ИмяПроцедуры [(Параметр1, Параметр2 ...)]

"ИмяПроцедуры" должно быть:

  • Именем метода класса и вызываться с указанием класса либо экземпляра;
  • Именем метода экземпляра и вызываться с указанием экземпляра;
  • Именем метода своего класса либо предка и вызываться без указания спецификаторов.
Порядок и количество параметров в операторе вызова должны строго совпадать с описанием метода.

  //метод класса, указан класс
  LList := TObjectList.Create(Name, Description, TObjectList, nil, nil, Folder);

  //метод экземпляра, указан экземпляр. Метод не имеет параметров.
  LList.Destroy;

  //свой либо унаследованный метод
  BuildDefaultActions(Name, True);


Оператор ветвления

(одним файлом)
Оператор ветвления
if Выражение then
  //Оператор1
[else
  //Оператор2]

Выражение должно быть логического типа. В случае если значение Выражения истинно, выполняется Оператор1. Часть else является необязательной и относится к последнему оператору if, не имеющему таковой. В случае ее наличия Оператор2 выполняется, если значение Выражения ложно.

if LIndex > 25 then
  raise 'Индекс слишком большой.';

if LMonth = 'январь' then
  January
else if LMonth = 'февраль' then
  February
else
  OtherMonth;  //обратите внимание на точки с запятой.


Оператор выбора

(одним файлом)
Оператор выбора
case Выражение of
  Значение1: //Оператор1
  Значение2: //Оператор2
  ...
[else
  //Оператор ]
end

Заменяет каскад операторов if. Значение Выражения должно быть числового типа. Часть else выполняется в случае, если Выражение не равно ни одному из перечисленных вариантов. Эта часть не является обязательной.

сase LIndex of
  0: ZeroIndex;
  1,2,3: SmallIndex;
  4,5,6,7,8,9,10: BigIndex;
else
  raise 'Слишком большой или отрицательный индекс.';
end;


Цикл с предусловием

(одним файлом)
Цикл с предусловием
while Выражение do
  //Оператор

Оператор выполняется до тех пор, пока значение Выражения истинно. Выражение должно быть логического типа. Если при входе в цикл Выражение не истинно, то тело цикла не будет выполнено ни одного раза.

while LList.Count > 0 do
  LList.GetItem(0).Destroy;

while True do
begin
  LValue := LValue.NextValue;
  if LValue.Value > 10 then
  begin
    Result := LValue.Value;
    exit;
  end;
end;


Цикл с постусловием

(одним файлом)
Цикл с постусловием
repeat
  //Операторы
until Выражение

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

repeat
  Result := Result + 1;
  LObject := LObject.Parent;
until LObject = nil;


Цикл с параметром

(одним файлом)
Цикл с параметром
for Параметр := Выражение1 (to|downto) Выражение2 do
  //Оператор

Параметр цикла обязан быть простой локальной переменной. Функционально цикл с параметром эквивалентен циклам:

  • Для формы to
    Параметр := Выражение1;
while Параметр <= Выражение2 do
    begin
  Оператор;
  Параметр :=  Параметр + 1;
end;
  • Для формы downto
    Параметр := Выражение1;
while Параметр >= Выражение2 do
    begin
  Оператор;
  Параметр :=  Параметр - 1;
end;
Если Выражение1 равно Выражению2, тело цикла будет выполнено один раз.

for I := LList.Length - 1 downto 0 do
// если LList.Length = 0, тело цикла ни разу не будет выполнено.
begin
  LClass := LList.GetItem(I);
  LMethod := any(TMethod with (Name = LName) and (Master = LClass));
  LParamList.Add(any(TMethod with (Name = LName) and (Master = LClass)));
end;


Цикл по экземплярам

(одним файлом)
Цикл по экземплярам
for each Параметр of ИмяКласса [with Выражение]
       [by [-] Выражение [, [-] Выражение]] do
         //Оператор

Цикл осуществляется по выборке среди экземпляров класса ИмяКласса, для которых истинно Выражение. Если Выражение не задано, то по всем экземплярам. Ссылка на текущий в рамках цикла экземпляр присваивается в локальную переменную Параметр. Выражение должно определяться относительно переменной Параметр. Выраженния, следующие за ключевым словом by, определяют порядок обхода экземпляров. Знак "-" перед выражением (любого типа) определяет обратный порядок обхода.

for each LOption of TOption with LOption.Domain.Required do
    // для каждой настройки, домен которой обязателен
  LOption.SetDefaultValue;


Оператор прекращения цикла

(одним файлом)
Оператор прекращения цикла
break

Происходит немедленный выход из цикла. Выполняется финализация операторов защиты завершения, которыми защищено тело цикла. Допустим только в теле цикла с предусловием, цикла с постусловием, цикла с параметром или цикла по экземплярам.


Оператор выхода из подпрограммы

(одним файлом)
Оператор выхода из подпрограммы
exit

Происходит немедленный выход из программного блока. Выполняется финализация операторов защиты завершения.


Оператор защиты завершения

(одним файлом)
Оператор защиты завершения
try
  //Операторы1
finally
  //Операторы2
end

Выполняются операторы Операторы1, разделенные точкой с запятой. В случае возникновения исключительной ситуации управление сразу передается на Операторы2, и после их выполнения исключение остается активным. Если исключения не произошло, выполняются Операторы2. Если среди Операторов1 встречается оператор exit, то Операторы2 все равно выполняются.

//создание временного объекта-списка
LList := TObjectList.Create(Name, Description, TObjectList, nil, nil, Folder);
try
  LList.Add(LValue);
  Exit;
finally
  //гарантированное уничтожение созданного объекта независимо от исключений.
  LList.Destroy;
end;


Оператор обработки исключительных ситуаций

(одним файлом)
Оператор обработки исключительных ситуаций
try
  //Операторы1
except
  //Операторы2
end

Выполняются операторы Операторы1. В случае возникновения исключительной ситуации управление передается на Операторы2. Если исключительных ситуаций не возникло, Операторы2 не выполняются никогда. При передаче управления на Операторы2 исключительная ситуация деактивирована. Для ее повторного возбуждения можно воспользоваться оператором возбуждения исключения без указания текстовой строки сообщения.

try
  LObject.NeverTouch := True;
  LObject.ExecuteCoolMethod; //если метод выполнен неудачно
except
  LObject.NeverTouch := True;  //установить флаг и ничего не сообщать пользователю.
end;

try
   LObject.ExecuteCoolMethod; //если метод выполнен неудачно
except
   LObject.Destroy; //удалить неудачный объект
   raise;           // продолжить обработку исключения.
end;


Оператор возбуждения исключения

(одним файлом)
Оператор возбуждения исключения
raise [Выражение]
Возбуждает исключение, которое, если не было обработано блоком except оператора обработки, дойдет до пользователя. Пользователь увидит сообщение, определяемое Выражением. Выражение должно иметь строковый тип и является обязательным для всех случаев, кроме части except оператора обработки исключений.


Оператор унаследованного вызова

(одним файлом)
Оператор унаследованного вызова
inherited

Работает только в унаследованном переопределенном методе. Вызывается метод предка с параметрами, заданными в параметрах к моменту вызова. Если программный блок представляет собой тело функции, то в псевдопеременной Result будет результат выполнения метода предка.

// в теле конструктора
Name := 'Object name';
Description := 'Object description';
inherited; //вызов предка с параметрами Name и Description,
           //заданными двумя предыдущими операторами. Ссылка на
           //созданный объект лежит в
           //псевдопеременной Result
Result.Name := 'New name';


Выражения и операции

(раздел целиком) (одним файлом)
Выражения и операции
  • Состав выражения
  • Квалификатор
  • Агрегат
  • Операции


Состав выражения

(одним файлом)
Состав выражения
Любое выражение имеет тип. Выражения состоят из следующих элементов:
  • Целая числовая константа (0 3 234);
  • Вещественная числовая константа. Дробная часть отделяется от целой точкой (".") (3.14 2.71);
  • Строковая константа. Заключается в апострофы. ('Some string' '10', '01.01.2006' 'now');
  • Логическая константа (True False);
  • Безтиповая (любого типа) константа nil;
  • Зарезервированное слово Self. Обозначает разный объект в зависимости от контекста:
    • В методах класса кроме конструктора - использование запрещено.
    • В методах экземпляра - всегда экземпляр, для которого вызван метод.
    • В конструкторе - до вызова унаследованного метода значение не определено. После вызова - ссылка на сконструированный объект.
    • В выражениях условий отбора - объект, для которого принимается решение о его вхождении в отбор.
  • Квалификатор.
  • Агрегат.


Квалификатор

(одним файлом)
Квалификатор

Квалификатор обозначает объект, переменную, параметр, свойство, поле, вызов функции. Квалификатор состоит из идентификаторов, разделенных точкой.

Result
AName
Caption
LObject.Name
LObject.Parent.Name
LObject.ChildCount
LObject.HasAsParent(LOtherObject)

При интерпретации квалификатора используется следующий порядок разбора идентификатора:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Локальная переменная
  3. Параметр
  4. Имя элемента перечисления
  5. Имя класса. Вне контекста означает ссылку на соответствующий объект класса TClass
  6. Имя поля
  7. Имя метода
  8. Имя свойства

При интерпретации квалификатора внутри выражения агрегата правила разбора идентификатора изменяются:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Имя элемента перечисления
  3. Имя класса. Если это имя агрегируемого класса, то дальнейшие разыменования относятся к агрегируемому объекту
  4. Имя поля
  5. Имя метода
  6. Имя свойства
  7. Локальная переменная
  8. Параметр


Агрегат

(одним файлом)
Агрегат

Агрегат определяет агрегированное значение над экземплярами определенного класса, удовлетворяющими условиям агрегации. Агрегаты бывают следующих типов:

  • any - первый попавшийся объект. Результат имеет тип ссылки на объект агрегируемого класса.
    any(TObject with Master = Self.Parent)
//первый попавшийся объект, имеющий значение
//свойства Master равным значению свойства
//Parent текущего (контекстного) объекта.
  • count - количество объектов. Результат имеет целочисленный тип.
    count(TObject with Master = Self.Parent)
//количество объектов, имеющих значение свойства
//Master равным значению свойства Parent
//текущего объекта.
  • sum - сумма значений свойства, поля или функции объектов. Результат имеет тип суммируемого поля, свойства или функции
    sum(TExam.Mark with Master = LStudent) //сумма
//баллов студента по его испытаниям
  • max, min - соответственно максимальное и минимальное значений свойства, поля или функции объектов. Результат имеет тип агрегируемого поля, свойства или функции
    min(TObject.Created) // момент создания первого
//объекта Системы.

Внутри выражения агрегата правила разбора идентификатора изменяются на следующие:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Имя элемента перечисления
  3. Имя класса. Если это имя агрегируемого класса, то дальнейшие разыменования относятся к агрегируемому объекту
  4. Имя поля
  5. Имя метода
  6. Имя свойства
  7. Локальная переменная
  8. Параметр


Операции

(раздел целиком) (одним файлом)
Операции

Операции связывают элементы выражений.

Таблица операций в порядке приоритета:
Левый операнд | Правый операнд
 | Целый | Вещест- венный | Дата | Время | Дата со временем | Логи- ческий | Строковый | Объект | nil
not
Нет | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
* (звездочка)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
/ (слэш, дробь)
Целый | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
div
Целый | Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
and
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
or
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
+ (плюс)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Строковый | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
- (минус)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Целый | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Вещест- венный | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
=, <> (равно, не равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Логи- ческий
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Логи- ческий
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
<, >, <=, >= (меньше, больше, меньше либо равно, больше либо равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
is
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
as
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Объект | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено

  • Особенности применения операций


Особенности применения операций

(одним файлом)
Особенности применения операций
  1. Приоритет сравнений ниже приоритета операций булевой логики. Поэтому выражение
    LObject.Master = LMaster and LObject.Parent = LParent
    будет интерпретироваться следующим образом:
    LObject.Master = (LMaster  and LObject.Parent) = LParent
    и вызовет ошибку компиляции из-за применения операции and к объектам. Необходимо писать:
    (LObject.Master = LMaster) and (LObject.Parent = LParent)
  2. Любое значение (выражение любого типа) сравнивается с безтиповой константой nil:
          LObject := any(TObject with Name = 'Some name');
      if LObject = nil then
         .....
  3. Операции "Унарный минус" не существует. Для задания отрицательных констант пользуйтесь конструкцией 0-Значение:
    Result := 0-1;


Формальная грамматика

(одним файлом)
Формальная грамматика
Goal: MethodBody | Expression;

MethodBody: [ConstantDeclaration] [VariableDeclaration] CompoundStatement ";";

ConstantDeclaration: "const" Ident ":" DomainSpecification ";"
  [{Ident ":" DomainSpecification ";"}];

VariableDeclaration: "var" DomainDefinition [{DomainDefinition}];

DomainDefinition: Ident ":" DomainSpecification ";";

DomainSpecification: IntegerDomainDefinition
  | StringDomainDefinition
  | FloatDomainDefinition
  | DateDomainDefinition
  | TimeDomainDefinition
  | DateTimeDomainDefinition
  | BooleanDomainDefinition
  | BlobDomainDefinition
  | EnumerationDomainDefinition
  | Ident;

IntegerDomainDefinition: "integer";
StringDomainDefinition: "string" "[" Number "]";
FloatDomainDefinition: "float" ["(" Number ["." Number] ")"];
DateDomainDefinition: "date";
TimeDomainDefinition: "time";
DateTimeDomainDefinition: "datetime";
BooleanDomainDefinition: "boolean";
BlobDomainDefinition: "blob" | "clob";
EnumerationDomainDefinition: "(" Ident {"," Ident} ")";

CompoundStatement: "begin" Statement [{";" Statement}] "end";

Statement:
  | CompoundStatement
  | AssignmentStatement
  | InheritedStatement
  | CallStatement
  | IfStatement
  | CaseStatement
  | ForStatement
  | WhileStatement
  | RepeatStatement
  | TryFinallyStatement
  | TryExceptStatement
  | RaiseStatement
  | ForEachStatement
  | ExitStatement;

AssignmentStatement:  Qualifier ":=" Expression;

CallStatement: Qualifier;

InheritedStatement: "inherited";

IfStatement: "if" Expression "then" Statement ["else" Statement];

CaseStatement: "case" Expression "of" {CaseBranch} ["else" Statement ";"] "end";

CaseBranch: CaseLabel [{',' CaseLabel}] ":" Statement ";";

CaseLabel: Number | Ident;

ForStatement: "for" Ident ":=" Expression ("to"|"downto")
  Expression "do" Statement;

WhileStatement: "while" Expression "do" Statement;

RepeatStatement: "repeat" Statement [{";" Statement}] "until" Expression;

TryFinallyStatement: "try" Statement [{";" Statement}] "finally"
  Statement [{";" Statement}] "end";

TryExceptStatement: "try" Statement [{";" Statement}] "except"
  Statement [{";" Statement}] "end";

RaiseStatement: "raise" [Expression];

ForEachStatement: "for" "each" Ident "of" Ident ["with" Expression]
  ["by" Expression] "do" Statement;

ExitStatement: "exit";

Expression: ComparedExpression [{RelationOperation Expression}];

ComparedExpression: Addon [{AdditionOperaton ComparedExpression}];

Addon: Factor [{MultiplicativeOperation Addon}];

Factor: "(" Expression ")"
  | "not" Expression
  | Number ["." Number]
  | StringConstant
  | Qualifier
  | "nil"
  | "True"
  | "False"
  | "(" Expression "is" Ident ")"
  | "any" Aggregate
  | "count" Aggregate
  | "sum" Aggregate
  | "max" Aggregate
  | "min" Aggregate;

Aggregate: "(" Ident ["." Ident] ["with" Expression] ")";

Qualifier: QualifierPart [{"." QualifierPart}];

QualifierPart: Ident ["(" Expression [{", " Expression}] ")"]
  | "self"
  | "(" Qualifier "as" Ident ")";

RelationOperation: "<"
  | ">"
  | "<="
  | ">="
  | "="
  | "<>";

AdditionOperaton: "+"
  | "-"
  | "or";

MultiplicativeOperation: "*"
  | "/"
  | "div"
  | "and";


Соглашения

(раздел целиком) (одним файлом)
Соглашения
  • Соглашения о наименованиях
  • Cтилевое оформление исходного кода


Соглашения о наименованиях

(одним файлом)
Соглашения о наименованиях

В качестве вводимых (объявляемых) идентификаторов необходимо использовать так называемую нотацию InfixCaps. Если при создании имени используется несколько слов, то необходимо использовать заглавную букву для каждого слова в имени. Для разделения слов нельзя использовать символ подчеркивания. Все сущности именуются на английском языке, при этом использование сокращений является оправданным только в случае, если длина образуемого имени не согласуется с внешними по отношению к соображениям бизнес-логики ограничениям.

  • Имя класса должно начинаться с латинской буквы 'T'.
    Имя | Наименование
    TObjectList | Список объектов
    TLearnPlan | Учебный план
  • Имя поля должно начинаться с латинской буквы 'F'.
    Имя | Наименование
    FLearnPeriod | Период обучения
    FExamMark | Оценка за экзамен
  • Имя свойства не имеет префикса.
    Имя | Наименование
    ExamKind | Вид рубежного испытания
    ContactPhone | Контактный телефон
    Если членом класса для чтения свойства является поля, то имя свойства должно повторять имя поля без префикса 'F'. Если членом класса для чтения свойства является метод, то имя поля должно повторять имя метода без слова 'Get'.
  • Имя параметра не имеет префикса.
    Имя | Наименование
    OrderNumber | Номер приказа
    ExamDate | Дата проведения экзамена
    Параметры, используемые для инициализации значений полей, должны иметь имя, повторяющее имя поля без префикса 'F'. При компиляции тела метода, написанного на языке PascalScript имена параметров и имена свойств будут распознаваться в соответствии с порядком разбора идентификаторов, как это описано здесь и здесь.
  • Имена методов должны представлять собой императивный глагол на английском языке, выражающий смысл того, что метод делает. Имена методов не имеют префикса. Имена методов, используемых для получения значений свойств должны (как члены класса для чтения), должны начинаться со слова Get. Имена методов, используемых для установки значений свойств должны (как члены класса для записи), должны начинаться со слова Set.
    Имя | Наименование
    CountMarkSumm | Вычислить сумму баллов
    GetAge | Получить значение возраста
    SetMark | Установить значение оценки
  • Имена локальных переменных должны начинаться с латинской буквы 'L'.
    LMarkSumm (сумма баллов), LObjectCount (количество объектов).
  • Имена доменов должны начинаться с латинской буквы 'T'. В именах доменов допустимы пробелы. Рекомендуется к имени домена добавлять слово 'domain' (через пробел), а для обязательных доменов 'required domain' (через пробел) тогда, когда необходимо исключить возможность использования этих доменов в текстах на PascalScript. Первым словом в имени домена-ссылки должно быть имя класса домена. Исключением являются имена доменов, соответствующих простым типам данных без дополнительных ограничений. Имена таких доменов могут повторять имена типов языка PascalScript (Integer, Boolean, Float).
    Имя | Класс домена | Наименование
    TPrice domain | Вещественный | домен Цена
    TWeight required domain | Целочисленный | домен Вес (обязательный)
    Boolean | Логический | Логический
    TClassMember required domain | Ссылка | домен Член класса
  • Имена элементов перечислений должны иметь префикс из двух или трех символов, идентифицирующий соответствующий домен-перечисление. Префикс записывается строчными буквами. Например,
    Имя | Наименование
    для домена TExamKind (вид испытания)
    ekTest | зачет
    ekExam | экзамен
    ekDifTest | дифференцированный зачет
    для домена TAggregateKind (вид агрегата)
    agCount | количество
    agSumm | сумма
    agAverage | среднее значение
    Настоятельно рекомендуется давать уникальные имена элементов перечислений в пределах всей системы.


Cтилевое оформление исходного кода

(раздел целиком) (одним файлом)
Cтилевое оформление исходного кода

Код на языке PascalScript, являющийся частью поставляемого решения, должен быть оформлен в соответствии с изложенными правилами.

  • Использование строк, пробелов и отступов
  • Оформление объявлений и операторов


Использование строк, пробелов и отступов

(одним файлом)
Использование строк, пробелов и отступов

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

Пробелы, запрещенные к использованию:

  • До или после точки "."
  • Между именем вызываемого метода и открывающей скобкой "("
  • После открывающей скобки "(" или перед закрывающей ")"
  • Перед точкой с запятой ";"
  • Перед двоеточием ":"
  • Перед запятой ","

Двоеточие для всех объявлений переменных не должно содержать перед собой пробелов и иметь один пробел после перед именем типа.

Всегда необходимо использовать два пробела для всех уровней отступа. Другими словами, первый уровень отступает на два пробела, второй на четыре и так далее. Никогда не используйте символы табуляции.

Существует несколько исключений из этого правила. Зарезервированные слова var, begin и end, относящиеся к программному блоку вцелом, всегда должны примыкать к левой границе. Код внутри блока begin..end должен иметь отступ два символа.

Все строки должны быть ограничены 80 столбцами. Строки, длиннее чем 80 столбцов должны быть разделены и перенесены. Все перенесенные строки должны быть выровнены по первой строке и иметь отступ в два символа. Зарезервированное слово begin всегда должно находиться на своей отдельной строке.

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


Оформление объявлений и операторов

(одним файлом)
Оформление объявлений и операторов

Все переменные с их типами должны быть объявлены на различных строках.

Простые операторы содержат одну точку с запятой. Если Вам необходимо разделить оператор, то перенесите продолжение оператора на следующую строку с отступом в два пробела.
  MyValue :=
    MyValue + (SomeVeryLongStatement / OtherLongStatement);

Составные операторы всегда заканчиваются точкой с запятой.
begin
  MyStatement;
  MyNext Statement;
  MyLastStatement;
end;

Каждое присвоение и каждое выражение должно располагаться на разных строках.

Оператор "if"

Оператор if всегда должен располагаться по крайней мере на двух строках
if A < B then DoSomething;
if A < B then
  DoSomething;
В случае составного оператора необходимо поместить каждый оператор на новую строку.
  if A < B then begin
    DoSomething;
    DoSomethingElse;
  end else begin
    DoThis;
    DoThat;
  end;

  if A < B then
  begin
    DoSomething;
    DoSomethingElse;
  end
  else
  begin
    DoThis;
    DoThat;
  end;
Все остальные варианты расположения операторов не рекомендуются и не одобряются, хотя и являются синтаксически правильными.

Оператор "for"

  for i := 0 to 10 do begin
    DoSomething;
    DoSomethingElse;
  end;

  for i := 0 to 10 do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  for I := 0 to 10 do
    DoSomething;

Оператор "while"

  while x < j  do begin
    DoSomething;
    DoSomethingElse;
  end;
  while x < j do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  while x < j do
    Something;

Оператор "repeat..until"

  repeat
    x := j;
    j := UpdateValue;
  until j > 25;

Оператор "case"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
  case LCode of
    1, 3:
      begin
        Incr := FIncrement + 1;
        FinalIncr := FIncrement div FLineDiv;
        Count := FLineDiv;
      end;
    2, 4:
      begin
        Incr := FPageIncrement;
        FinalIncr := Incr + 1;
        Incr := Incr div FPageDiv;
        Count := FPageDiv;
      end;
  else
    begin
      Count := 0;
      Incr := 0;
      FinalIncr := 0;
    end;
  end;

Оператор "try"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
try
  try
    EnumItems(CurrentThreadID, LDisable, 0);
    Result := TaskList;
  except
    EnableItems(TaskList);
    raise;
  end;
finally
  TaskList := SaveList;
  TaskActive := SaveActive;
end;


Интерфейсы взаимодействия с внешними подсистемами

(раздел целиком) (одним файлом)
Интерфейсы взаимодействия с внешними подсистемами

Системный слой платформы "Мельница данных" предоставляет сторонним системам ряд интерфейсов, дающих возможность обращаться к объектам базы данных и их свойствам, вызывать методы классов и объектов, осуществлять запросы к базе данных, управлять поведением элементов управления и проч.

  • Интерфейс IContext
  • Интерфейс IContextDataSet
  • Интерфейс IConstants
  • Интерфейс IFormContext
  • Интерфейс IControl
  • Интерфейс IButton
  • Интерфейс IBinaryData
  • Интерфейс IContextExpressionInfo
  • Интерфейс IExceptionHandler


Интерфейс IContext

(одним файлом)
Интерфейс IContext
  IContext = interface(IDispatch)
    ['{79847D79-A3BE-408F-B59F-662B91BC6350}']
    function Handle: Integer;
    function getName(ID: OleVariant): WideString;
    function getDescription(ID: OleVariant): WideString;
    function createDataSet(const TargetClassName: WideString):
      IContextDataSet;
    function executeMethod(const ClassName: WideString;
      const MethodName: WideString;
      Params: OleVariant): OleVariant;
    function executeReport(const ClassName: WideString;
      const TemplateName: WideString;
      Params: OleVariant): IDispatch;
    function getPropValue(const ClassName: WideString;
      const PropName: WideString;
      const ID: OleVariant): OleVariant;
    procedure setPropValue(const ClassName: WideString;
      const PropName: WideString;
      const ID: OleVariant; Value: OleVariant);
    function select(const ClassName: WideString;
      QueryItems: OleVariant): IDispatch;
    function enumerationItem(ItemIdentifier: OleVariant): WideString;
    function getClass(const ClassName: WideString): WideString;
    function createGUID: WideString;
    procedure processStart(const Description: WideString;
      ItemCount: Integer);
    procedure processStep;
    procedure processStop;
    function PlaceDataSet(const Range: IDispatch;
      const DataSet: IContextDataSet;
      ShiftRows: WordBool; ShiftColumns: WordBool): Integer;
    procedure DebugString(const Message: WideString);
    procedure ExportObject(var Document: OleVariant; const ID: WideString;
      const ClassID: WideString);
    function callRoutine(const ClassName, RoutineName: WideString;
      var RetValue: OleVariant; const ScriptPart: OleVariant): WordBool;
    function getOleObject(const ClassID, AccessibleFileName: WideString): IDispatch;
    function getResource(const Name: WideString): WideString;
    function getTempFileName(const Extension: WideString): WideString;
    function selectVaue(const ClassDomain: WideString;
      const ExpressionContext: IContextExpressionInfo;
      var Value: OleVariant): WordBool;
    procedure raiseManagedException(const ExceptionMessage: WideString);
    function getCRC(Data: OleVariant): WideString;
    function downloadData(const Host: WideString; const Url: WideString;
      const UserName: WideString; const Password: WideString;
      NegotiateAuth: WordBool; PostData: OleVariant;
      const PostContentType: WideString; PostDataIsBinary: WordBool;
      CanCache: WordBool; NewSession: WordBool; TimeOut: Integer): OleVariant;
    function createBinaryData: IDispatch;
    function BinaryToBitmap(const Data: IDispatch): IDispatch; safecall;
    function editValues(const ValuesList: WideString; const Title: WideString;
      UseTabs: WordBool; HideOKButton: WordBool;
      const ScriptPart: OleVariant): WordBool;
    function MsgBox(const Prompt: WideString; Buttons: LongWord;
      const Title: WideString;
      const HelpFile: WideString; Context: LongWord): Integer;
    function ShowMsgBox(const Prompt: WideString; Buttons: LongWord;
      const Title: WideString;
      const HelpFile: WideString; Context: LongWord): Integer;
    function buildNamedFile(const Data: IDispatch; const StoredFileName: WideString;
                            Propmpt: WordBool; Compress: WordBool): IDispatch;
    procedure parseNamedFile(const NamedFile: IDispatch; out FileName: OleVariant;
                             out Data: OleVariant);
    procedure showView(const ViewName: WideString; Key: OleVariant;
                       const DetailPropertyName: WideString);
    procedure showDataSet(const DataSet: ContextDataSet; const Caption: WideString;
                          ColumnCaptions: OleVariant; ColumnOnChangeHandlers: OleVariant;
                          TakeActionsFromView: OleVariant);
    function executeConsoleProcess(const CommandLine: WideString; MaxDuration: Integer;
                                   const OutputData: OleVariant): Integer;
    function createRaster: IDispatch;
    function createZIPArchive: IDispatch;
    function ConvertExcel(Source: OleVariant; const Format: WideString): IDispatch;
    property ContextObject: IDispatch;
    property Language: WideString;
    property UserName: WideString;
    property NegotiateAuth: WordBool;
    property Variable[const Name: WideString; Persistent: WordBool]: OleVariant;
  end;

Члены интерфейса доступны для использования в скриптах форм задания параметров, а также в отчетах как члены класса передаваемого контекстного объекта.

  • Функция Handle возвращает дескриптор главного окна приложения.
  • Функция getName возвращает имя объекта по его идентификатору.
  • Функция getDescription возвращает наименование объекта по его идентификатору.
  • Функция createDataSet создает набор данных, основанный на экземплярах класса, имя которого передано как параметр. Возвращаемый объект реализует интерфейс IContextDataSet.
  • Функция executeMethod осуществляет вызов метода с параметрами. Имя класса передается в параметре ClassName, имя вызываемого метода - в параметре MethodName. Если вызываемый метод явяется функцией, то результат ее выполнения возвращается как результат вызова executeMethod. Параметры вызова метода передаются через параметр Params следующим образом:
    • Для методов класса без параметров можно передавать любое значение, например, Null.
    • Для методов класса, имеющих один параметр, значение Params есть значение этого единственного параметра.
    • Для методов класса, имеющих более одного параметра, значение Params есть массив значений параметров.
      VBScript, VBA | LValue = executeMethod("TObject", "Round", Array(10.24, 1))
      JScript | LValue = executeMethod("TObject", "Round", new Array(10.24, 1));
      Object Pascal | LValue := executeMethod('TObject', 'Round', VarArrayOf([10.24, 1]));
    • Для методов экземпляра без параметров значение Params есть идентификатор объекта, для которого вызывается метод.
    • Для методов экземпляра, имеющих параметры, значение Params есть массив значений параметров. При этом первым элементом массива является идентификатор объекта, для которого вызывается метод.
      VBScript, VBA | executeMethod "TObject", "MergeTo", Array(LOldObject, LNewObject)
      JScript | executeMethod("TObject", "MergeTo", new Array(LOldObject, LNewObject));
      Object Pascal | executeMethod('TObject', 'MergeTo', VarArrayOf([LOldObject, LNewObject]));
  • Функция executeReport осуществляет вызов отчета с параметрами. Имя класса передается в параметре ClassName, имя вызываемого метода - в параметре TemplateName. Параметры вызова передаются в параметре Params аналогично вызову executeMethod. В результате вызова функции возвращается ссылка на рабочую книгу Microsoft Excel, документ Microsoft Word и так далее. Судьба приложения, в рамках которого создан возвращенный объект, остается на усмотрение вызывающей стороны. Если вызывающая сторона предполагает взаимодействие объекта с пользователем, то необходимо обеспечить видимость объекта-приложения (Application.Visible := True;). В противном случае необходимо закрыть приложение после освобождения объекта документа (Application.Quit).
  • Функция getPropValue возвращает значение свойства объекта. Имя класса, имя свойства и идентификатор объекта задаются в параметрах.
  • Процедура setPropValue устанавливает значение свойства объекта в значение, заданное параметром Value. Для очистки значения можно использовать пустую строку или значение Null. Имя класса, имя свойства и идентификатор объекта задаются в параметрах.
  • Функция select возвращает ссылку на XML-документ, содержащий в корневом элементе элементы, представляющие собой записи набора данных на основе класса ClassName (с полями, разнесенными по элементам), определяемого структурой параметра QueryItems.
  • Функция enumerationItem возвращает идентификатор элемента перечисления по имени.
    VBScript, VBA | LItemID = enumerationItem("rsReplicatableMetadata")
    JScript | LItemID = enumerationItem("rsReplicatableMetadata");
    Object Pascal | LItemID := enumerationItem('rsReplicatableMetadata');
  • Функция getClass возвращает идентификатор объекта типа Класс TClass (Классы) по имени.
    VBScript, VBA | LClassID = getClass("TDocumentType")
    JScript | LClassID = getClass("TDocumentType");
    Object Pascal | LClassID := getClass('TDocumentType');
  • функция createGUID является оберткой над функцией Windows API CoCreateGuid. Возвращает сгенерированный глобально-уникальный идентификатор, преобразованный в строку.
  • процедура processStart информирует систему о необходимости показать окно выполнения длительного процесса. Текст, описывающий процесс (он появляется в показываемом окне) задается параметром Description. В случае, если есть возможность определить количество "шагов" процесса, то это количество необходимо передать в параметре ItemCount. В случае, если параметр ItemCount больше нуля, окно выполнения будет снабжено индикатором прогресса. Если значение ItemCount равно нулю, то окно появится без индикатора прогресса. Если значение ItemCount меньше нуля, то решение о появлении окна будет принято системой самостоятельно на основании загрузки процессора и окно процесса не появится, если процесс завершится достаточно быстро.
  • процедура processStep информирует систему о завершении очередного "шага" процесса, что найдет отражение в индикаторе прогресса окна выполнения длительного процесса, если таковые случатся.
  • процедура processStop информирует систему о завершении длительного процесса, что приведет к закрытию окна выполнения длительного процесса, если таковое случится.
  • функция PlaceDataSet осуществляет перенос данных из набора, задаваемого параметром DataSet в некоторое место документа Microsoft Office. Место назначения определяется параметром Range следующим образом:
    Microsoft Word
    • Объект Range. По месту расположения этого объекта будет создана таблица (Table), в которой будут размещены данные из набора.
      PlaceDataSet ThisDocument.Bookmarks("BookMarkName").Range, LDataSet
      PlaceDataSet Selection.Range, LDataSet
    • Объект Document. В самом начале переданного документа будет создана таблица (Table), в которой будут размещены данные из набора.
      PlaceDataSet ThisDocument, LDataSet
    Microsoft Excel
    • Объект Range. По месту расположения этого объекта (диапазона) будут размещены данные из набора. Если параметр ShiftRows задан и равен True, то заданный диапазон будет расширен вниз на необходимое количество строк, и информация, лежащая ниже переданного диапазона, будет по-прежнему лежать ниже. Если нет, то она (скорее всего) будет затёрта данными набора. Если параметр ShiftColumns задан и равен True, то этот диапазон будет расширен вправо на необходимое количество столбцов, и информация, лежащая правее переданного диапазона, будет по-прежнему лежать правее. Если нет, то она (скорее всего) будет затёрта данными набора.
      PlaceDataSet Range("C4"), LDataSet
    • Объект WorkSheet. На переданном листе будут размещены данные из набора.
      PlaceDataSet WorkSheets("HiddenSheet"), LDataSet
    Функция возвращает количество размещенных записей.
  • процедура DebugString выводит переданную в качестве аргумента строку в отладочный монитор.
  • процедура ExportObject осуществляет экспорт информации об объекте, задаваемом параметром ID в XML-документ, передаваемый в параметре Document. Если объект документа не был создан, то он создается автоматически. Если документ не имеет корневого узла, он будет создан автоматически.
    set LDataSet = CreateDataSet("TSecurityAccount")

LDataSet.AddQueryItem qpWhat, "ID"

set LDocument = CreateObject("Msxml2.DOMDocument.4.0") 'Не обязательно.

while not LDataSet.Eof
  ExportObject LDocument, LDataSet.Field("ID")
  LDataSet.Next
wend

LDocument.save "c:\RolesAndUsers.xml"
  • Функция callRoutine осуществляет вызов подпрограммы. Параметры будут запрошены у пользователя обычным порядком (с показом формы задания параметров, отработки ее скрипта и т. д.). Имя класса передается в параметре ClassName, имя вызываемой подпрограммы - в параметре RoutineName. Если пользователь разрешил выполнение подпрограммы (либо для выполнения не требовалось разрешения пользователя), функция вернет True, иначе False. Значение, возвращаемое подпрограммой, может быть возвращено через необязательный параметр RetValue. Через значение необязательного параметра ScriptPart можно передать скрипт на языке VBScript, который будет "приклеен" сверху к скрипту формы параметров вызываемой подпрограммы.
  • Функция getOleObject возвращает ссылку на Ole-объект с идентификатором класса, переданном в параметре ClassID. Объект создается на основе библиотеки кода, сохраненной в доступном файле с именем, заданным параметром AccessibleFileName. Регистр символов имени доступного файла важен.
  • Функция getResource возвращает значение ресурсной строки по имени ресурса (элемента перечислимого домена Resource strings или перевода (объекта класса TLanguageTranslation).
    MsgBox getResource("rssMyErrorMessage")
  • Функция getTempFileName возвращает сгенерированное системой имя временного файла с расширением, переданным в параметре Extension.
  • Функция selectVaue позволяет пользователю выбрать значение на основе ссылочного домена, имя которого передается в параметре ClassDomain. Вызывающая сторона может реализовать интерфейс IContextExpressionInfo, через который передается информация о контексте вызова для интерпретации выражений условий отбора, и передать ссылку на него через параметр ExpressionContext. Выбранное значение передается в обе стороны через параметр Value. Если пользователь подтвердил выбор значения, функция возвращает значение True, и устанавливает значение параметра Value, равное идентификатору выбранного пользователем объекта. Если пользователь отказался от выбора, функция возвращает значение False.
  • Процедура raiseManagedException возбуждает управляемую исключительную ситуацию с сообщением для пользователя, заданным параметром ExceptionMessage.
  • Функция getCRC возвращает шестнадцатиричное представление контрольной суммы переданных в параметре Data данных. Параметр может быть
    • Объектом, реализующим интерфейс IBinaryData
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Объектом, реализующим интерфейс IFile объектной модели FileSystemObject
    • Строкой данных. Строка будет преобразована в байты в соответствии с кодировкой UTF-8.
  • Функция downloadData осуществляет обращение к указанному ресурсу по протоколу http (https), и возвращает ответ сервера в виде объекта, реализующего интерфейс IBinaryData. Параметр Host определяет http-сервер, параметр Url - Url, к которому будет происходить обращение. Параметры UserName и Password определяют имя пользователя и пароль, если http-сервер требует авторизовать пользователя. Параметр NegotiateAuth устанавливает режим аутентификации. (Basic или Negotiate). Параметры PostData, PostContentType и PostDataIsBinary определяют содержимое тела POST-запроса (если не определено, функция отправит GET-запрос). Параметр CanCache позволяет использовать локальный кеш http-ответов. Параметр NewSession требует принудительного создания новой сессии при вызове функции. Параметр TimeOut определяет максимальное время ожидания ответа в секундах.
  • Функция createBinaryData создает пустой объект, реализующий интерфейс IBinaryData.
  • Функция BinaryToBitmap конвертирует переданный графический файл в формат BMP. Объекты во входном и выходном параметрах должны реализовывать интерфейс IBinaryData.
  • Функция editValues создает и показывает форму редактирования группы значений. Параметр ValuesList содержит идентификатор объекта класса TObjectList. Этот список содержит ссылки на редактируемые значения (объекты класса TTypedValue), и командные кнопки формы (объекты класса TTypedValueButton). Параметр Title определяет заголовок формы, параметр UseTabs определяет, будут ли показаны закладки на форме редактирования. Параметр HideOKButton позволяет скрыть кнопку "OK" на показываемой форме. Параметр ScriptPart определяет скрипт показываемой формы.

      LValue1 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value1", "Первый параметр", Null, Null, _
    "TLongString", Null, Null, Null, Null, Null, "Значение по  умолчанию первого параметра"))
  LValue2 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value2", "Второй параметр", Null, Null, _
    "TLongString", Null, Null, Null, Null, Null, "Значение по  умолчанию второго параметра"))

  LValues = executeMethod("TObjectList", "CreateFromString", _
    LValue1 & ";" & LValue2)

  if editValues(LValues, "Введите два строковых значения, друзья", True, False, "") then
    MsgBox getPropValue("TTypedValue", "StrValue", LValue1) & _
      " " & _
      getPropValue("TTypedValue", "StrValue", LValue2)
  end if

  executeMethod "TObject", "Destroy", LValues
  executeMethod "TObject", "Destroy", LValue1
  executeMethod "TObject", "Destroy", LValue2

      LScriptPart =  "Buttons(""NextButton"").Enabled = ParentForm.NavigatorCanNext" & Chr(10) & _
    "Buttons(""PrevButton"").Enabled = ParentForm.NavigatorCanPrevious"

  LValue1 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value1", "Первый параметр", Null, Null, "TLongString", Null, Null, Null, Null, Null, _
    "Значение по  умолчанию первого параметра"))
  LValue2 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value2", "Второй параметр", Null, Null, "TLongString", Null, Null, Null, Null, Null, _
    "Значение по  умолчанию второго параметра"))

  LNextButton = executeMethod ("TTypedValueButton", "Create", Array("NextButton", "Вперед!", _
    Null, Null, Null, Null, 0, Null, Null, _
    "ParentForm.NavigatorNext"  & Chr(10) & LScriptPart, enumerationItem("scPublic"), 1, Null))

  LPrevButton = executeMethod ("TTypedValueButton", "Create", Array("PrevButton", "Назад!", _
    Null, Null, Null, Null, 1, Null, Null, _
    "ParentForm.NavigatorPrevious" & Chr(10) & LScriptPart, enumerationItem("scPublic"), 1, Null))

  LValues = executeMethod("TObjectList", "CreateFromString", _
    LValue1 & ";" & LValue2 & ";" & LNextButton & ";" & LPrevButton)

  if editValues(LValues, "Введите два строковых значения, друзья", True, True, LScriptPart) then
    MsgBox getPropValue("TTypedValue", "StrValue", LValue1) & _
      " " & _
      getPropValue("TTypedValue", "StrValue", LValue2)
  end if

  executeMethod "TObject", "Destroy", LValues
  executeMethod "TObject", "Destroy", LValue1
  executeMethod "TObject", "Destroy", LValue2
  executeMethod "TObject", "Destroy", LNextButton
  executeMethod "TObject", "Destroy", LPrevButton

  • Функции MsgBox и ShowMsgBox (это синонимы одной точки входа) полностью аналогичны функции Basic MsgBox по поведению и набору параметров.
  • Функция buildNamedFile формирует значение типа "Именованный файл" на основе объекта, реализующего интерфейс IBinaryData (параметр Data) и информации об имени и параметрах именованного файла.
  • Процедура parseNamedFile разбирает значение типа "Именованный файл". Выходной параметр FileName будет содержать сохраненное имя файла, выходной параметр Data - объект, реализующего интерфейс IBinaryData и содержащий данные именованного файла.
  • Свойство ContextObject позволяет получить ссылку на этот же самый контекстный объект.
  • Свойство UserName позволяет получить логин текущего пользователя.
  • Свойство NegotiateAuth позволяет получить признак доменной аутентификации пользователя.
  • Свойство Language позволяет получать и устанавливать текущий языковой контекст, в котором будут выполняться обращения к БД. Значение свойства либо пустая строка (используется язык БД по умолчанию), либо имя объекта класса TLanguage
  • Свойство Variable позволяет сохранять и получать произвольные значения, которые могут хранится постоянно (в реестре) или только в текущем сеансе, в зависимости от параметра Persistent.
    'сохранить на время текущего сеанса значение в переменную с именем SameVariableName
Variable("SameVariableName", False) = "Value"

'получить значение переменной с именем SameVariableName хранимой в текущем сеансе
LValue = Variable("SameVariableName", False)
  • Процедура showView осуществляет показ в модальном окне представления с именем ViewName. С помощью параметров DetailPropertyName и Key можно наложить на представление дополнительное условие отбора.


Интерфейс IContextDataSet

(одним файлом)
Интерфейс IContextDataSet
  IContextDataSet = interface(IDispatch)
    ['{466F3AF7-F899-4BC1-869D-1B17DCB86159}']
    procedure AddQueryItem(Part: TQueryPart; const Name: WideString;
      Value: OleVariant; Special: TQuerySpecial; Context: OleVariant);
    function Eof: WordBool;
    function Field(const Name: WideString): OleVariant;
    function FieldCount: Integer;
    function FieldName(Index: Integer): WideString;
    procedure Next;
  end;

Интерфейс предоставляет возможности формирования и выполнения запросов к базе данных с целью получения свойств объектов определенного класса, предоставляет доступ к объекту набора данных. Работа с объектом, реализующим интерфейс IContextDataSet заключается в формировании структуры набора данных и последующих обращениях к ним.

  • Процедура AddQueryItem добавляет элемент набора данных. Элементы могут добавляться в любом порядке до первого обращения к данным набора. Символические имена всех предопределенных для параметров этого метода констант являются членами интерфейса IConstants.
    • часть запроса определяется параметром Part, который может принимать одно из следующих предопределенных значений:
      Символическое имя | Числовое значение | Описание
      qpWhat | 0 | Добавляет поле (столбец), определяемое параметром Name, к результирующему набору данных. Параметр Value игнорируется.
      qpWhere | 1 | Определяет условие, налагаемое на свойства объектов класса, передаваемое остальными параметрами.
      qpOrder | 2 | Определяет порядок сортировки записей результирующего набора данных. Параметр Value игнорируется.
      qpGroup | 3 | Определяет, что записи результирующего набора данных будут сгруппированы по столбцу, переданному в параметре Name. Параметры Value и Special игнорируются.
    • параметр Name должен быть именем свойства класса, на котором основан набор данных, либо зарезервированным словом "ID" (без кавычек).
    • параметр Value (необязательный) определяет условия отбора, накладываемые на свойство, заданное параметром Name. Имеет смысл только если значение параметра Part равно qpWhere. Условие задается посредством строки, интерпретируемой следующим образом:
      • строка разделяется на части посредством системного разделителя
      • каждая часть интерпретируется самостоятельно, и эти части объединяются логическим "ИЛИ"
      • при интерпретации каждой части проверяются следующие условия:
        * проверка значения на непустоту (IS NOT NULL)
        !* проверка значения на пустоту (IS NULL)
        начинается с символов
        '<=', '<', '>=', '>'         		проверка соответствующего отношения между значением свойства, переданного параметром Name и оставшейся частью строки
        включает в себя символы '*' и/или '?' | проверка соответствия значения шаблону, в котором знак '?' соответствует одному любому символу, а знак '*' - любому количеству любых символов
        начинается с символа '!' | символ '!' означает отрицание условия, переданного оставшейся частью строки
        представляет собой строку в апострофах (одиночных кавычках) | содержание строки не анализируется по приведенным выше условиям
        любая другая строка | проверка равенства значения свойства, переданного параметром Name значению, переданному строкой
    • параметр Special (необязательный) обеспечивает дополнительное поведение набора данных (если параметр Special используется, необходимо использовать и параметр Value, можно передавать пустую строку):
      Символическое имя | Числовое значение | Описание
      qsNone | 0 | Параметр не используется. Значение по умолчанию.
      qsDescending | 7 | Используется при значении qpOrder параметра Part. В этом случае производится сортировка по убыванию.
      qsCount | 8 | Используется при значении qpWhat параметра Part. Определяют тип агрегации по свойству, заданному параметром Name.
      qsSum | 9
      qsMin | 10
      qsMax | 11
      qsAverage | 12
      qsFunction | 22 | Используется для включения в запрос вызова функции. Используется при значении qpWhat параметра Part.
    • параметр Context (необязательный) определяет дополнительные параметры элемента запроса.
    'включить в набор данных свойство Name
LDataSet.AddQueryItem 0, "Name"
'включить в набор данных среднее значение цены
LDataSet.AddQueryItem 0, "Price", "", 12
'включить в набор данных идентификатор объекта
LDataSet.AddQueryItem 0, "ID"
'включить в набор данных вызов функции. В поле IsCompany будет значение True, если объект является организацией
LDataSet.AddQueryItem 0, "IsCompany", "TObject.IsInstanceOf", 22, Array(getClass("TCompany"))
'наложить на набор данных условие
LDataSet.AddQueryItem 1, "Organization", "фирма Елочка"

    LDataSet.AddQueryItem 0, "Organization"              '(1)
LDataSet.AddQueryItem 0, "SalesCount", "", "9"       '(2)
LDataSet.AddQueryItem 1, "SaleDate", ">10.09.2005"   '(3)
LDataSet.AddQueryItem 2, "Organization"              '(4)
LDataSet.AddQueryItem 3, "Organization"              '(5)
    Производится отбор из класса, описывающего число продаж некоего продукта различными организациями. При этом в набор данных включаются колонки "Organization" (строка 1) и "SalesCount" (строка 2). При этом будет произведена группировка по свойству "Organization" (строка 5) (что гарантирует вхождение каждой организации в результирующий набор данных не более одного раза). Набор данных будет отсортирован по организации (строка 4). При этом в колонке "SalesCount" будет сумма (строка 2) всех продаж, осуществленных каждой организацией после 10.09.2005 (строка 3).
  • Функция FieldCount возвращает количество полей (столбцов) набора данных.
  • Функция FieldName возвращает имя поля (столбца) с номером, переданным в параметре Index.
  • Функция Field возвращает значение, содержащееся в поле с именем или индексом, заданным параметром Name (строкового типа) текущей записи набора данных. При первом обращении к набору данных текущей является первая запись. Если параметр определяет номер, то поиск поля производится по номеру. Если имя, то по имени.
  • Процедура Next осуществляет переход к следующей записи набора данных.
  • Функция Eof возвращает False, если текущая запись набора данных существует; в случаях, если набор данных пустой, или при помощи метода Next достигнут конец набора данных, возвращает True.
    If LDataSet.Eof then
  'набор данных пуст. Ничего не отобрано.
Else
  While Not LDataSet.Eof
    'работа с очередной отобранной записью
    Cells(LRow, 1).Value = LDataSet.Field("Name")
    Cells(LRow, 2).Value = LDataSet.Field("Description")
    Cells(LRow, 2).Value = LDataSet.Field("Count")
    'переход к следующей записи
    LDataSet.Next
    LRow = LRow + 1
  Wend
End If


Интерфейс IConstants

(одним файлом)
Интерфейс IConstants
  IConstants = interface(IDispatch)
    ['{7E7B2D66-5E7C-496A-AE06-EFC485007500}']
    property qpWhat: Integer;
    property qpWhere: Integer;
    property qpOrder: Integer;
    property qpGroup: Integer;
    property qpHaving: Integer;
    property qsNone: Integer;
    property qsObjectID: Integer;
    property qsParentID: Integer;
    property qsHasChildren: Integer;
    property qsFilterCondition: Integer;
    property qsUplink: Integer;
    property qsRootOnly: Integer;
    property qsDescending: Integer;
    property qsCount: Integer;
    property qsSum: Integer;
    property qsMin: Integer;
    property qsMax: Integer;
    property qsAverage: Integer;
    property qsMasterLink: Integer;
    property qsSelectedOnly: Integer;
  end;

Интерфейс предоставляет символические имена констант, необходимых для работы с объектом, реализующим интерфейс IContextDataSet.

Свойство | Значение
qpWhat | 0
qpWhere | 1
qpOrder | 2
qpGroup | 3
qpHaving | 4
qsNone | 0
qsObjectID | 1
qsParentID | 2
qsHasChildren | 3
qsFilterCondition | 4
qsUplink | 5
qsRootOnly | 6
qsDescending | 7
qsCount | 8
qsSum | 9
qsMin | 10
qsMax | 11
qsAverage | 12
qsMasterLink | 13
qsSelectedOnly | 14


Интерфейс IFormContext

(одним файлом)
Интерфейс IFormContext
  IFormContext = interface(IDispatch)
    ['{1944F1C8-CAEA-4CF9-9A4D-CE3423508FF7}']
    function ChangedControl: OleVariant;
    function ControlCount: Integer;
    function ButtonCount: Integer;
    function ID: WideString;
    procedure Cancel;
    function ControlExists(const Name: WideString): WordBool;
    function ChangedControlName: WideString;
    function ParentForm: OleVariant;
    function RoutineID: WideString;
    procedure PreInitControl(const Name: WideString; Value: OleVariant);
    procedure NavigatorNext;
    procedure NavigatorPrevious;
    function NavigatorCanNext: WordBool;
    function NavigatorCanPrevious: WordBool;
    procedure RefreshView(RefreshAll: WordBool);
    function ExpressionContextValue(const Name: WideString): OleVariant; safecall;
    property Controls[Name: OleVariant]: IControl;
    property Buttons[Name: OleVariant]: IButton;
    property Enabled: WordBool;
  end;

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

  • Функция ChangedControl возвращает объект, реализующий интерфейс IControl, соответствующий элементу управления, изменение которого вызвало исполнение скрипта формы параметров. Если выполнение скрипта вызвано инициализацией формы задания параметров, то значение функции - Empty. Пустоту значения можно проверить с помощью функции VBScript IsEmpty.
  • Функция ControlCount возвращает число элементов управления на форме параметров, как видимых так и невидимых.
  • Функция ButtonCount возвращает число командных кнопок на форме параметров, как видимых так и невидимых.
  • Функция ID возвращает значение идентификатора объекта, для которого вызван метод. Для методов класса возвращает пустое значение.
  • Функция ControlExists возвращает True, если элемент управления с именем Name существует на форме, и, соответственно, существует соответствующий параметр.
  • Функция ChangedControlName возвращает имя элемента управления, изменение которого вызвало исполнение скрипта формы параметров. Если выполнение скрипта вызвано инициализацией формы задания параметров, то значение функции - пустая строка.
  • Процедура Cancel прекращет работу формы задания параметров. Форма закрывается, выполнение действия блокируется.
  • Функция ParentForm возвращает ссылку на контекст родительской формы в цепочке вызовов. В контексте первой формы (вызванной с грида немодальной формы) возвращает пустое значение (Empty). Пустоту значения можно проверить с помощью функции VBScript IsEmpty.
  • Функция RoutineID возвращает идентификатор подпрограммы, для которой вызвана форма.
  • Процедура PreInitControl имитирует предварительную инициализацию элемента управления с именем Name значением, переданным в параметре Value. Сам элемент управления при этом будет скрыт, и не будет показан вплоть до следующего вызова формы пользователем.
  • Процедура NavigatorNext выполняет переход к следующему объекту набора данных, для которого показывается форма параметров.
  • Процедура NavigatorPrevious выполняет переход к предыдущему объекту набора данных, для которого показывается форма параметров.
  • Функция NavigatorCanNext возвращает True, если возможен переход к следующему объекту набора данных, для которого показывается форма параметров.
  • Функция NavigatorCanPrevious возвращает True, если возможен переход к предыдущему объекту набора данных, для которого показывается форма параметров.
  • Процедура RefreshView обновляет набор данных, для которого показывается форма параметров. Если значение параметра RefreshAll равно True, то будет обновлен весь набор, если False, то только выделенные записи.
  • Свойство Controls позволяет обращаться к элементам управления на форме задания параметров, их свойствам и методам. Каждый элемент управления реализует интерфейс IControl. В параметре Name (строкового типа)может быть передано как имя элемента управления, так и его индекс (в этом случае индекс должен быть передан как строка). Имена элементов управления на форме параметров соответствуют именам параметров подпрограммы (метода, отчета, etc).
  • Свойство Buttons позволяет обращаться к командным кнопкам на форме задания параметров, их свойствам и методам. Каждая командная кнопка реализует интерфейс IButton. В параметре Name (строкового типа)может быть передано как имя командной кнопки, так и ее индекс (в этом случае индекс должен быть передан как строка).
  • Свойство Enabled позволяет получать и устанавливать доступность кнопки OK на форме задания параметров. Если на форме есть невалидные (имеющие недопустимые значения) элементы управления, значение свойства всегда равно False и устанавливать его в явном виде в True не рекомендуется. Для учета дополнительного условия рекомендуется использовать следующую конструкцию: Enabled = Enabled and (Controls("SalesCount").Value > 10)
  • Функция ExpressionContextValue возвращает значение переменной контекста с именем Name, которая используется для интeрпретации выражений условий отбора на форме.


Интерфейс IControl

(одним файлом)
Интерфейс IControl
  IControl = interface(IDispatch)
    ['{0662001F-D3D5-4F28-98AC-9B499F70E856}']
    function Name: WideString;
    procedure SetHint(const Value: WideString);
    procedure RefreshLinkedView;
    property Value: OleVariant;
    property ReadOnly: WordBool;
    property IsValid: WordBool;
    property IsEmpty: WordBool;
  end;

Моделирует элемент управления на форме задания параметров. Позволяет управлять поведением элементов управления на форме.

  • Функция Name возвращает имя элемента управления; имена элементов управления всегда совпадают с именамим соответствующих параметров подпрограммы.
  • Процедура SetHint устанавливает текст всплывающей подсказки элемента управления. Всплывыющая подсказка показывается только если значение элемента управления недопустимо (свойство IsValid равно False).
  • Процедура RefreshLinkedView обновит связанное с элементом управления представление.
  • Свойство Value позволяет получать и устанавливать значение, введенное в элемент управления.
  • Свойство ReadOnly позволяет получать и устанавливать доступность элемента управления для записи; при значении True элемент управления не доступен для записи и отображается неактивным.
  • Свойство IsValid позволяет получать и устанавливать "валидность" элемента управления; по умолчанию валидным элемент управления является в том случае, если введенное в него значение соответствует домену соответствующего параметра подпрограммы с учетом наложенного на него условия отбора.
  • Свойство IsEmpty имеет значение True в случае, если в элемент управления не введено никакого значения (элемент управления пустой), в противном случае имеет значение False.


Интерфейс IButton

(одним файлом)
Интерфейс IButton
  IButton = interface(IDispatch)
    ['{1618406F-B9F1-4C5F-BC35-C2A154837CA9}']
    function Name: WideString; safecall;
    procedure Click; safecall;
    property Enabled: WordBool;
  end;

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

  • Функция Name возвращает имя кнопки.
  • Процедура Click эмулирует нажатие на кнопку.
  • Свойство Enabled позволяет получать и устанавливать доступность кнопки.


Интерфейс IBinaryData

(одним файлом)
Интерфейс IBinaryData
  IBinaryData = interface(IDispatch)
    ['{8A9F7CB3-230A-4048-B938-852CBF6ADB2D}']
    procedure Load(const Src: OleVariant);
    procedure Append(const Src: OleVariant);
    procedure Save(const Dst: OleVariant);
    function Size: Cardinal;
    function ToString(Encoding: WideString): WideString;
    procedure FromString(Data: OleVariant);
    procedure AppendString(Data: OleVariant);
    function ToBase64: WideString;
    procedure FromBase64(Data: OleVariant);

Представляет набор двоичных данных.

  • Процедура Load загружает двоичные данные из переданного источника. Источник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Процедура Append добавляет двоичные данные из переданного источника. Источник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Процедура Save сохраняет двоичные данные в переданный приемник. Приемник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Функция ToString переводит данные в строку. Байты, содержашиеся в объекте, будут рассматриваться как содержащие строку в кодировке, заданной параметром Encoding. По умолчанию используется кодировка UTF-8
  • Процедура FromString загружает данные из строки, переданной в параметре Data, перекодировав ее в кодировку UTF-8
  • Процедура AppendString добавляет данные из строки, переданной в параметре Data, перекодировав ее в кодировку UTF-8
  • Функция ToBase64 возвращает строку, полученную путем кодирования в формат Base64, данных содержащихся в объекте
  • Процедура FromBase64 загружает данные из строки, переданной в параметре Data, раскодировав ее из формата Base64


Интерфейс IContextExpressionInfo

(одним файлом)
Интерфейс IContextExpressionInfo
  IContextExpressionInfo = interface(IUnknown)
    ['{C7518427-B515-4EB4-B698-88656E6CBF7C}']
    function Count: Integer;
    function ItemName(Index: Integer): WideString;
    function ItemValue(Index: Integer): OleVariant;
    function ItemDomain(Index: Integer): OleVariant;
  end;

Через реализацию этого интерфейса передаются значения контекстных переменных при обращении к функции selectValue интерфейса IContext.

  • Функция Count возвращает количество используемых контекстных переменных. Нумерация контекстных переменных начинается с нуля.
  • Функция ItemName возвращает имя контекстной переменной c номером, переданным в параметре Index.
  • Функция ItemValue возвращает значение контекстной переменной c номером, переданным в параметре Index.
  • Функция ItemDomain возвращает имя домена контекстной переменной c номером, переданным в параметре Index.


Интерфейс IExceptionHandler

(одним файлом)
Интерфейс IExceptionHandler
  IExceptionHandler = interface(IDispatch)
    ['{3C3C7202-5ED5-4EB4-9CDD-A929C18CA8BD}']
    procedure HandleException(ContextObject: OleVariant;
      const Message: WideString;
      const ExtentedInfo: WideString);
  end;

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

Для реализации интерфеса используется библиотека hse.tlb, входящая в состав поставки решения. Перед началом работы с ней, необходимо зарегистрировать ее в операционной системе.

Для установки настроек интерфейса необходимо открыть Системную форму раздела АДМИНИСТРАТОРУ, перейти на вкладку Настройки и в столбце "Заголовок закладки" установить фильтр "Обработка ошибок".

После этого в качестве значения Идентификатора класса установить "IExceptionHandler" без кавычек.

Для Библиотеки кода указать значение HSE.tlb


Справочник по метаданным

(раздел целиком) (одним файлом)
Справочник по метаданным
  • Вещественный домен Float (Вещественное)
  • Домен больших объектов TBinaryData (Двоичные данные)
  • Домен больших объектов TComment (Текстовый комментарий)
  • Домен больших объектов TExcelTemplateData (Данные Excel-шаблона)
  • Домен больших объектов TFileContent (Содержимое файлов)
  • Домен больших объектов TFilterCondition (Условие отбора)
  • Домен больших объектов TImage (Изображение)
  • Домен больших объектов TInlineExpressionText (Текст выражения)
  • Домен больших объектов TMethodBody (Исходные тексты методов)
  • Домен больших объектов TRoutineScript (Скрипты форм параметров)
  • Домен больших объектов TWordTemplateData (Данные Word-шаблона)
  • Домен больших объектов TXSLTTemplateData (Данные XSLT-шаблона)
  • Домен времени TTime (Время)
  • Домен дат TDate (Дата)
  • Домен дат со временем TimeStamp (Момент)
  • Домен дат со временем TimeStamp required (Момент (обязательный))
  • Домен ссылок на объекты TAccessor domain (Роли доступа)
  • Домен ссылок на объекты TActionRoutine required domain (Метод действия)
  • Домен ссылок на объекты TBanGroup domain (Группа запретов)
  • Домен ссылок на объекты TBannedProperty domain (Свойство для запрета)
  • Домен ссылок на объекты TBannedRoutine domain (Подпрограмма для запрета)
  • Домен ссылок на объекты TButtonParameter domain (Параметр командной кнопки)
  • Домен ссылок на объекты TClass domain (Класс)
  • Домен ссылок на объекты TClass required cascade domain (Класс (с каскадным удалением))
  • Домен ссылок на объекты TClass required domain (Класс (обязательно))
  • Домен ссылок на объекты TCodeLibrary domain (Библиотека кода)
  • Домен ссылок на объекты TColorProperty domain (Домен свойства цвета)
  • Домен ссылок на объекты TColumnProperty domain (Свойство колонки)
  • Домен ссылок на объекты TDetailProperty domain (Свойство-подчиненное)
  • Домен ссылок на объекты TDomain domain (Домен)
  • Домен ссылок на объекты TDomain required domain (Домен (обязательно))
  • Домен ссылок на объекты TForm required domain (Форма (обязательно))
  • Домен ссылок на объекты TFormView domain (Представления форм)
  • Домен ссылок на объекты TInitializationMember domain (Член класса для инициализации)
  • Домен ссылок на объекты TList domain (Список объектов)
  • Домен ссылок на объекты TMaster domain (Объект (с каскадным удалением))
  • Домен ссылок на объекты TMaster field domain (Домен поля "Мастер")
  • Домен ссылок на объекты TMasterProperty domain (Свойство-главное)
  • Домен ссылок на объекты TMergedObject domain (Объект для отождествления)
  • Домен ссылок на объекты TObject domain (Объект)
  • Домен ссылок на объекты TOption required domain (Настройка (обязательно))
  • Домен ссылок на объекты TOptionValue domain (Значение настройки)
  • Домен ссылок на объекты TParent domain (Родитель объекта)
  • Домен ссылок на объекты TReadMember domain (Член класса для чтения)
  • Домен ссылок на объекты TSecurityAccount domain (Роль безопасности)
  • Домен ссылок на объекты TSecurityAccount required domain (Роль безопасности (обязательно))
  • Домен ссылок на объекты TSourceDataBase required domain (База данных)
  • Домен ссылок на объекты TUser domain (Пользователь)
  • Домен ссылок на объекты TUser required domain (Пользователь)
  • Домен ссылок на объекты TView of ClassDomain domain (Представление)
  • Домен ссылок на объекты TView of FormView domain (Представление для формы)
  • Домен ссылок на объекты TVisualGroup required domain (Визуальная группа (обязательно))
  • Домен ссылок на объекты TVisualGroup routine domain (Подпрограмма визуальной группы)
  • Домен ссылок на объекты TWriteMember domain (Член класса для записи)
  • Класс TAccessItem (Элементы доступа)
  • Класс TAccessibleFile (Доступный файл)
  • Класс TAction (Действия)
  • Класс TBanGroup (Группы запретов)
  • Класс TBanGroupAccess (Доступ к группам запретов)
  • Класс TBanGroupItem (Элементы группы запретов)
  • Класс TBlobDomain (Большие объекты)
  • Класс TBooleanDomain (Логические)
  • Класс TClass (Классы)
  • Класс TClassBan (Запрет на класс)
  • Класс TClassDomain (Ссылки на объекты)
  • Класс TClassMember (Члены класса)
  • Класс TCommandButton (Командные кнопки)
  • Класс TDataBase (Базы данных)
  • Класс TDateDomain (Даты)
  • Класс TDateTimeDomain (Даты со временем)
  • Класс TDomain (Домены)
  • Класс TEnumerationDomain (Перечисления)
  • Класс TEnumerationItem (Элементы перечислений)
  • Класс TExcelTemplate (Шаблоны отчетов Excel)
  • Класс TField (Поля)
  • Класс TFileNameDomain (Имена файлов)
  • Класс TFloatDomain (Вещественные числа)
  • Класс TFolderNameDomain (Имена папок файловой системы)
  • Класс TForm (Формы)
  • Класс TFormAccess (Доступ к формам)
  • Класс TFormView (Представления формы)
  • Класс TInlineExpression (Встраиваемое выражение)
  • Класс TInstantMessage (Сообщения)
  • Класс TIntegerDomain (Целые числа)
  • Класс TMethod (Методы)
  • Класс TObject (Объекты)
  • Класс TObjectList (Списки)
  • Класс TObjectListItem (Элементы списков)
  • Класс TOleObjectMethod (Метод Ole-объекта)
  • Класс TOption (Настройки)
  • Класс TOptionValue (Значения настроек)
  • Класс TParameter (Параметры)
  • Класс TProperty (Свойства)
  • Класс TPropertyBan (Запрет на свойство)
  • Класс TRole (Роли)
  • Класс TRoleMember (Пользователи в ролях)
  • Класс TRoutine (Подпрограмма)
  • Класс TRoutineAction (Программируемое действие)
  • Класс TRoutineBan (Запрет на подпрограмму)
  • Класс TSecurityAccount (Роли безопасности)
  • Класс TStringDomain (Строковые)
  • Класс TTimeDomain (Время)
  • Класс TUser (Пользователи)
  • Класс TView (Представления)
  • Класс TViewAction (Действие-представление)
  • Класс TViewColumn (Колонки представлений)
  • Класс TVisualGroup (Визуальные группы)
  • Класс TVisualGroupAccess (Доступ к визуальным группам)
  • Класс TVisualGroupForm (Форма визуальной граппы)
  • Класс TVisualGroupItem (Элемент визуальной группы)
  • Класс TVisualGroupRoutine (Подпрограмма визуальной группы)
  • Класс TWordTemplate (Шаблоны отчетов Word)
  • Класс TXSLTTemplate (Шаблоны отчетов XSLT)
  • Логический домен Boolean (Обычное логическое)
  • Логический домен Non-required boolean (Необязательное логическое)
  • Перечисление TAggregateKind (Тип агрегата)
  • Перечисление TBlobSubtype (Подтип)
  • Перечисление TChangeAction (Действие при изменении)
  • Перечисление TDateTimePart (Часть даты или времени)
  • Перечисление TDeleteRule (Правило удаления)
  • Перечисление TExcelSheetKind (Тип листа Excel)
  • Перечисление TReplicationStatus (Статус репликации)
  • Перечисление TRowColor (Цвет строки таблицы)
  • Перечисление TScope (Область видимости)
  • Перечисление TSecurityModel (Модели безопасности)
  • Перечисление TShowObjectInfoType (Тип представления объектов)
  • Перечисление TSortDirection (Направление сортировки)
  • Перечисление TUserAccessMode (Режим доступа)
  • Строковый домен Char (Символ)
  • Строковый домен TCaption (Заголовки)
  • Строковый домен TExternalIndentifier (Внешний идентификатор)
  • Строковый домен TFileExtension (Расширение имени файла)
  • Строковый домен TGUID (Уникальные идентификаторы)
  • Строковый домен TLongString (Длинная строка)
  • Строковый домен TObjectDescription (Наименования)
  • Строковый домен TObjectName (Имена)
  • Строковый домен TOldID (Идентификаторы при создании)
  • Строковый домен TShortcut (Горячие клавиши)
  • Целочисленный домен Integer (Целое)
  • Целочисленный домен Percent (Процент)
  • Целочисленный домен TLength (Длина)
  • Целочисленный домен TPosition (Позиция)
  • Целочисленный домен TPrescision (Точность)
  • Целочисленный домен TWidth (Ширина)


Вещественный домен Float (Вещественное)

(одним файлом)
Вещественный домен Float (Вещественное)

Используется для репрезентации "вещественного вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого вещественного значения.

См. также
  • Поле TFloatDomain.FMinValue (Минимальное значение)
  • Поле TFloatDomain.FMaxValue (Максимальное значение)
  • Поле TOptionValue.FFloatValue (Вещественное значение)
  • Свойство TFloatDomain.MinValue (Минимальное значение)
  • Свойство TFloatDomain.MaxValue (Максимальное значение)
  • Свойство TOptionValue.FloatValue (Вещественное значение)
  • Функция TObject.StrToFloat (Строку в вещественное)
  • Функция TOption.GetFloatValue (Вещественное значение)
  • Функция TObject.Round (Округление)
  • Функция TObject.IfThenFloat (Выбор из двух вещественных)
  • Конструктор TFloatDomain.Create (Конструктор вещественного домена)
  • Конструктор TOptionValue.Create (Конструктор значения настройки)
  • Функция TObject.FloatToStr (Вещественное в строку)
  • Процедура TOption.SetValue (Установка значения)
  • Функция TObject.Trunc (Отсечение дробной части)


Домен больших объектов TBinaryData (Двоичные данные)

(одним файлом)
Домен больших объектов TBinaryData (Двоичные данные)
Тип сохраненных данных - btBinaryData(Двоичные данные).

Используется для описания больших двоичных объектов, содержимое которых никак не интерпретируется системой.

См. также
  • Поле TOptionValue.FBlobValue (Значение-большой объект)
  • Свойство TOptionValue.BlobValue (Значение-большой объект)
  • Функция TOption.GetBlobValue (Значение-большой объект)
  • Конструктор TOptionValue.Create (Конструктор значения настройки)
  • Процедура TOption.SetValue (Установка значения)


Домен больших объектов TComment (Текстовый комментарий)

(одним файлом)
Домен больших объектов TComment (Текстовый комментарий)
Тип сохраненных данных - btText (Текст).
При работе с файломи используется расширение имени ".txt".

Используется для хранения текстовых комментариев, описаний произвольной длины. Значение интерпретируется как текст.

См. также
  • Поле TVisualGroupItem.FComment (Комментарий)
  • Свойство TVisualGroupItem.Comment (Комментарий)
  • Конструктор TVisualGroupItem.Create (Конструктор элемента визуальной группы)


Домен больших объектов TExcelTemplateData (Данные Excel-шаблона)

(одним файлом)
Домен больших объектов TExcelTemplateData (Данные Excel-шаблона)
Тип сохраненных данных - btBinaryData (Двоичные данные). При работе с файломи используется расширение имени " .xls ".

Используется для хранения в базе рабочих книг Microsoft Excel, например, шаблонов отчетов Excel

Тип сохраненных данных - btBinaryData (Двоичные данные).
При работе с файломи используется расширение имени ".xls".
См. также
  • Поле TExcelTemplate.FTemplateData (Данные шаблона)
  • Свойство TExcelTemplate.TemplateData (Данные шаблона)
  • Конструктор TExcelTemplate.Create (Конструктор шаблона Excel)


Домен больших объектов TFileContent (Содержимое файлов)

(одним файлом)
Домен больших объектов TFileContent (Содержимое файлов)
Тип сохраненных данных - btBinaryData (Двоичные данные).

Используется для хранения содержимого доступного файла.

См. также
  • Поле TAccessibleFile.FFileData (Данные файла)
  • Свойство TAccessibleFile.FileData (Данные файла)
  • Конструктор TAccessibleFile.Create (Конструктор доступного файла)


Домен больших объектов TFilterCondition (Условие отбора)

(одним файлом)
Домен больших объектов TFilterCondition (Условие отбора)
Тип сохраненных данных - btSourceCode (Исходный код).

Содержит выражение на языке PascalScript, определяющее условие отбора.

Тип сохраненных данных - btSourceCode (Исходный код).
См. также
  • Поле TClassDomain.FFilterCondition (Условие отбора)
  • Свойство TClassDomain.FilterCondition (Условие отбора)
  • Конструктор TClassDomain.Create (Конструктор домена-ссылки)


Домен больших объектов TImage (Изображение)

(одним файлом)
Домен больших объектов TImage (Изображение)
Тип сохраненных данных - btImage (Изображение). При работе с файломи используется расширение имени " .bmp ".

Используется для хранения изображений-иконок визуальных элементов системы.

Тип сохраненных данных - btImage (Изображение).
При работе с файломи используется расширение имени ".bmp".
См. также
  • Поле TForm.FImage (Изображеие-иконка)
  • Поле TRoutine.FImage (Изображеие-иконка)
  • Поле TVisualGroup.FImage (Изображение)
  • Свойство TForm.Image (Изображение-иконка)
  • Свойство TRoutine.Image (Изображение-иконка)
  • Свойство TVisualGroup.Image (Изображение)
  • Свойство TVisualGroupForm.Image (Изображение)
  • Конструктор TForm.Create (Конструктор формы)
  • Конструктор TRoutine.Create (Конструктор подпрограммы)
  • Конструктор TVisualGroup.Create (Конструктор визуальной группы)


Домен больших объектов TInlineExpressionText (Текст выражения)

(одним файлом)
Домен больших объектов TInlineExpressionText (Текст выражения)
Тип сохраненных данных - btSourceCode (Исходный код).

Содержит выражение на языке PascalScript, определяющее логику работы встраиваемого выражения.

См. также
  • Поле TInlineExpression.FExpression (Выражение)
  • Поле TClass.FNameExpression (Выражение имени объекта)
  • Поле TClass.FDescriptionExpression (Выражение наименования объекта)
  • Свойство TInlineExpression.Expression (Выражение)
  • Свойство TClass.NameExpression (Выражение имени объекта)
  • Свойство TClass.DescriptionExpression (Выражение наименования объекта)
  • Конструктор TInlineExpression.Create (Конструктор встраиваемого выражения)
  • Конструктор TClass.Create (Конструктор класса)


Домен больших объектов TMethodBody (Исходные тексты методов)

(одним файлом)
Домен больших объектов TMethodBody (Исходные тексты методов)
Тип сохраненных данных - btSourceCode (Исходный код).

Содержит исходный текст метода на языке PascalScript.

Тип сохраненных данных - btSourceCode (Исходный код).
См. также
  • Поле TMethod.FBody (Тело)
  • Свойство TMethod.Body (Тело)
  • Конструктор TMethod.Create (Конструктор метода)


Домен больших объектов TRoutineScript (Скрипты форм параметров)

(одним файлом)
Домен больших объектов TRoutineScript (Скрипты форм параметров)
Тип сохраненных данных - btText (Текст).

Содержит скрипт формы задания параметров на языке VBScript.

Тип сохраненных данных - btVisualBasicScript (Скрипт Visual Basic).
При работе с файломи используется расширение имени ".vbs".
См. также
  • Поле TRoutine.FScript (Скрипт формы)
  • Свойство TRoutine.Script (Скрипт формы параметров)
  • Конструктор TRoutine.Create (Конструктор подпрограммы)
  • Поле TCommandButton.FScript (Скрипт)
  • Свойство TCommandButton.Script (Скрипт)


Домен больших объектов TWordTemplateData (Данные Word-шаблона)

(одним файлом)
Домен больших объектов TWordTemplateData (Данные Word-шаблона)
Тип сохраненных данных - btBinaryData (Двоичные данные). При работе с файломи используется расширение имени " .doc ".

Используется для хранения в базе документов Microsoft Word, например, шаблонов отчетов Word

Тип сохраненных данных - btBinaryData (Двоичные данные).
При работе с файломи используется расширение имени ".doc".
См. также
  • Поле TWordTemplate.FTemplateData (Данные шаблона)
  • Свойство TWordTemplate.TemplateData (Данные шаблона)
  • Конструктор TWordTemplate.Create (Конструктор шаблона Word)


Домен больших объектов TXSLTTemplateData (Данные XSLT-шаблона)

(одним файлом)
Домен больших объектов TXSLTTemplateData (Данные XSLT-шаблона)
Тип сохраненных данных - btXML (XML-документ). При работе с файлами используется расширение имени " .xsl ".

Используется для хранения в базе данных скриптов xslt-преобразований, например, шаблонов отчетов XSLT.

Тип сохраненных данных - btXML (XML-документ).
При работе с файломи используется расширение имени " .xsl ".
См. также
  • Поле TXSLTTemplate.FTemplateData (Данные шаблона)
  • Свойство TXSLTTemplate.TemplateData (Данные шаблона)
  • Конструктор TXSLTTemplate.Create (Конструктор шаблона xslt)


Домен времени TTime (Время)

(одним файлом)
Домен времени TTime (Время)

Используется для репрезентации "времени вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого значения времени.

См. также
  • Поле TOptionValue.FTimeValue (Значение времени)
  • Свойство TOptionValue.TimeValue (Значение времени)
  • Функция TObject.StrToTime (Строку во время)
  • Функция TOption.GetTimeValue (Значение времени)
  • Функция TObject.IfThenTime (Выбор из двух времен)
  • Функция TObject.TimeToStr (Время в строку)
  • Конструктор TOptionValue.Create (Конструктор значения настройки)
  • Процедура TOption.SetValue (Установка значения)
  • Функция TObject.TimePart (Часть времени)


Домен дат TDate (Дата)

(одним файлом)
Домен дат TDate (Дата)

Используется для репрезентации "даты вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты.

См. также
  • Поле TOptionValue.FDateValue (Значение даты)
  • Свойство TOptionValue.DateValue (Значение даты)
  • Функция TObject.StrToDate (Строку в дату)
  • Функция TOption.GetDateValue (Значение даты)
  • Функция TObject.IfThenDate (Выбор из двух дат)
  • Функция TObject.DateToStr (Дату в строку)
  • Конструктор TOptionValue.Create (Конструктор значения настройки)
  • Процедура TOption.SetValue (Установка значения)
  • Функция TObject.DatePart (Часть даты)


Домен дат со временем TimeStamp (Момент)

(одним файлом)
Домен дат со временем TimeStamp (Момент)

Используется для репрезентации "даты со временем вообще" в функциях библиотеки времени исполнения, либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты со временем.

>
См. также
  • Поле TOptionValue.FDateTimeValue (Значение даты со временем)
  • Функция TOption.GetDateTimeValue (Значение даты со временем)
  • Функция TObject.IfThenDateTime (Выбор из двух дат со временем)
  • Свойство TOptionValue.DateTimeValue (Значение даты со временем)


Домен дат со временем TimeStamp required (Момент (обязательный))

(одним файлом)
Домен дат со временем TimeStamp required (Момент (обязательный))
Значение обязательно для заполнения.

Используется для репрезентации "даты со временем вообще" в функциях библиотеки времени исполнения, либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты со временем.

См. также
  • Поле TObject.FCreated (Создано)
  • Поле TObject.FModified (Изменено)
  • Функция TObject.StrToDateTime (Строку в дату и время)
  • Свойство TObject.Created (Создано)
  • Свойство TObject.Modified (Изменено)


Домен ссылок на объекты TAccessor domain (Роли доступа)

(одним файлом)
Домен ссылок на объекты TAccessor domain (Роли доступа)
Ссылка на класс TSecurityAccount (Роли безопасности) . Используется для обозначения роли безопасности, используемой при создании объектов для обеспечения защиты данных в соответствии с правами пользователя.

Ссылка на класс TSecurityAccount (Роли безопасности).
См. также
  • Поле TObject.FReader (Роль для чтения)
  • Поле TObject.FWriter (Роль для записи)
  • Свойство TObject.Reader (Роль для чтения)
  • Свойство TObject.Writer (Роль для записи)
  • Конструктор TObject.Create (Конструктор объекта)


Домен ссылок на объекты TActionRoutine required domain (Метод действия)

(одним файлом)
Домен ссылок на объекты TActionRoutine required domain (Метод действия)
Значение обязательно для заполнения.
Ссылка на класс TRoutine (Подпрограмма).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен используется для отбора подпрограмм, по которым можно построить программируемое действие. Домен отбирает только те подпрограммы, которые принадлежат к классу, на котором основано представление, в которое включается (включено) действие, к его предкам и его потомкам в иерархии наследования. Доступ к потомкам необходим, чтобы обеспечить возможность создания объектов конечных неабстрактных бизнес-классов из представления, обеспечивающего доступ к объектам абстрактного класса.

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TRoutineAction.FRoutine (Подпрограмма)
  • Свойство TRoutineAction.Routine (Подпрограмма)
  • Конструктор TRoutineAction.Create (Конструктор программируемого действия)


Домен ссылок на объекты TBanGroup domain (Группа запретов)

(одним файлом)
Домен ссылок на объекты TBanGroup domain (Группа запретов)
Значение обязательно для заполнения.
Ссылка на класс TBanGroup (Группы запретов).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен используется дочерними классами групп запретов.

См. также
  • Конструктор TBanGroupAccess.Create (Конструктор доступа к группе запретов)


Домен ссылок на объекты TBannedProperty domain (Свойство для запрета)

(одним файлом)
Домен ссылок на объекты TBannedProperty domain (Свойство для запрета)
Значение обязательно для заполнения.
Ссылка на класс TProperty (Свойства).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает свойства класса, по которому строится запрет на свойство, либо его предков.

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TPropertyBan.FBannedProperty (Запрещенное свойство)
  • Свойство TPropertyBan.BannedProperty (Запрещаемое свойство)
  • Конструктор TPropertyBan.Create (Конструктор запрета на свойство)


Домен ссылок на объекты TBannedRoutine domain (Подпрограмма для запрета)

(одним файлом)
Домен ссылок на объекты TBannedRoutine domain (Подпрограмма для запрета)
Значение обязательно для заполнения. Ссылка на класс TRoutine (Подпрограмма) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает подпрограммы класса, по которому строится запрет на свойство, либо его предков.

Использование этого домена в прикладных решениях запрещено.

Значение обязательно для заполнения.
Ссылка на класс TRoutine (Подпрограмма).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Объекты отбираются по следующему условию:

BannedClass.HasAsParent(Self.Master)

См. также
  • Поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма)
  • Свойство TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)
  • Конструктор TRoutineBan.Create (Конструктор запрета на подпрограмму)


Домен ссылок на объекты TButtonParameter domain (Параметр командной кнопки)

(одним файлом)
Домен ссылок на объекты TButtonParameter domain (Параметр командной кнопки)

Этот раздел еще предстоит написать.

См. также
  • Поле TCommandButton.FParameter (Связанный параметр)
  • Свойство TCommandButton.Parameter (Связанный параметр)


Домен ссылок на объекты TClass domain (Класс)

(одним файлом)
Домен ссылок на объекты TClass domain (Класс)
Ссылка на класс TClass (Классы) .

Используется для задания необязательной ссылки на класс.

См. также
  • Поле TClass.FMasterClass (Класс-мастер)
  • Свойство TClass.MasterClass (Класс-мастер)
  • Свойство TClassDomain.ClassOfDomain (Класс домена)
  • Свойство TParameter.RoutineClass (Класс подпрограммы)
  • Свойство TView.ShownClassMasterClass (Класс-мастер показываемого)
  • Конструктор TObject.Create (Конструктор объекта)
  • Конструктор TClass.Create (Конструктор класса)
  • Функция TObject.IsInstanceOf (Является экземпляром класса)


Домен ссылок на объекты TClass required cascade domain (Класс (с каскадным удалением))

(одним файлом)
Домен ссылок на объекты TClass required cascade domain (Класс (с каскадным удалением))
Значение обязательно для заполнения. Ссылка на класс TClass (Классы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания обязательной каскадной ссылки на класс в объектах-запрещениях. Удаление классов должно приводить к удалению связанных с ними запрещений.

См. также
  • Поле TClassBan.FBannedClass (Запрещенный класс)
  • Поле TRoutineBan.FBannedClass (Запрещенный класс)
  • Поле TPropertyBan.FBannedClass (Запрещенный класс)
  • Свойство TClassBan.BannedClass (Запрещаемый класс)
  • Свойство TRoutineBan.BannedClass (Запрещаемый класс)
  • Свойство TPropertyBan.BannedClass (Запрещаемый класс)
  • Конструктор TClassBan.Create (Конструктор запрета на класс)
  • Конструктор TRoutineBan.Create (Конструктор запрета на подпрограмму)
  • Конструктор TPropertyBan.Create (Конструктор запрета на свойство)


Домен ссылок на объекты TClass required domain (Класс (обязательно))

(одним файлом)
Домен ссылок на объекты TClass required domain (Класс (обязательно))
Значение обязательно для заполнения. Ссылка на класс TClass (Классы) .

Используется для задания обязательной ссылки на класс.

См. также
  • Поле TObject.FClass (Класс)
  • Поле TClassDomain.FClass (Класс)
  • Поле TView.FShownClass (Класс для показа)
  • Свойство TObject.Class (Класс)
  • Свойство TView.ShownClass (Класс)
  • Свойство TOption.DomainClass (Класс домена)
  • Свойство TField.DomainClass (Класс домена)
  • Свойство TInlineExpression.DomainClass (Класс домена)
  • Свойство TProperty.DomainClass (Класс домена)
  • Свойство TParameter.DomainClass (Класс домена)
  • Свойство TFormView.ShownClass (Показываемый класс)
  • Свойство TViewAction.ShownClass (Показываемый класс)
  • Конструктор TClass.Create (Конструктор класса)
  • Конструктор TClassDomain.Create (Конструктор домена-ссылки)
  • Конструктор TView.Create (Конструктор представления)
  • Свойство TRoleMember.UserClass (Класс члена роли)


Домен ссылок на объекты TCodeLibrary domain (Библиотека кода)

(одним файлом)
Домен ссылок на объекты TCodeLibrary domain (Библиотека кода)
Ссылка на класс TAccessibleFile (Доступный файл) . При удалении объекта-источника ссылки значение ссылки очищается.

Используется для организации связи между методом Ole-объекта и доступным файлом, содержащим реализацию метода.

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TOleObjectMethod.FCodeLibrary (Библиотека кода)
  • Свойство TOleObjectMethod.CodeLibrary (Библиотека кода)
  • Конструктор TOleObjectMethod.Create (Конструктор метода Ole-объекта)


Домен ссылок на объекты TColorProperty domain (Домен свойства цвета)

(одним файлом)
Домен ссылок на объекты TColorProperty domain (Домен свойства цвета)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается.

Домен отбирает свойства класса, на котором основано представление, или его предков, имеющие тип Цвет строки таблицы.

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

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TView.FColorProperty (Свойство цвета)
  • Свойство TView.ColorProperty (Свойство цвета)
  • Свойство TFormView.ColorProperty (Свойство-цвет)
  • Конструктор TView.Create (Конструктор представления)


Домен ссылок на объекты TColumnProperty domain (Свойство колонки)

(одним файлом)
Домен ссылок на объекты TColumnProperty domain (Свойство колонки)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает свойства класса, на котором основано представление, или его предков.

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

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TViewColumn.FProperty (Свойство)
  • Свойство TViewColumn.Property (Свойство)
  • Конструктор TViewColumn.Create (Конструктор колонки представления)
  • Процедура TView.BuildDefaultColumns (Создать колонки по умолчанию)


Домен ссылок на объекты TDetailProperty domain (Свойство-подчиненное)

(одним файлом)
Домен ссылок на объекты TDetailProperty domain (Свойство-подчиненное)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается.

Домен отбирает свойства класса, на котором основано представление, или его предков для организации связи между представлениями.

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TFormView.FDetailProperty (Свойство-подчиненное)
  • Поле TViewAction.FDetailProperty (Свойство-подчиненное)
  • Свойство TFormView.DetailProperty (Свойство-подчиненное)
  • Свойство TViewAction.DetailProperty (Свойство-подчиненное)
  • Конструктор TFormView.Create (Конструктор представления формы)
  • Конструктор TViewAction.Create (Конструктор действия-представления)


Домен ссылок на объекты TDomain domain (Домен)

(одним файлом)
Домен ссылок на объекты TDomain domain (Домен)
Ссылка на класс TDomain (Домены) .

Используется для задания необязательной ссылки на домен.

См. также
  • Поле TRoutine.FDomain (Домен результата)
  • Свойство TRoutine.Domain (Домен результата)
  • Конструктор TDomain.Create (Конструктор домена)
  • Конструктор TEnumerationDomain.Create (Конструктор перечисления)
  • Конструктор TIntegerDomain.Create (Конструктор целочисленного домена)
  • Конструктор TStringDomain.Create (Конструктор строкового домена)
  • Конструктор TBooleanDomain.Create (Конструктор логического домена)
  • Конструктор TClassDomain.Create (Конструктор домена-ссылки)
  • Конструктор TRoutine.Create (Конструктор подпрограммы)


Домен ссылок на объекты TDomain required domain (Домен (обязательно))

(одним файлом)
Домен ссылок на объекты TDomain required domain (Домен (обязательно))
Значение обязательно для заполнения. Ссылка на класс TDomain (Домены) .

Используется для задания обязательной ссылки на домен.

См. также
  • Поле TField.FDomain (Домен)
  • Поле TProperty.FDomain (Домен)
  • Поле TParameter.FDomain (Домен)
  • Поле TInlineExpression.FDomain (Домен)
  • Поле TOption.FDomain (Домен)
  • Свойство TField.Domain (Домен)
  • Свойство TProperty.Domain (Домен)
  • Свойство TParameter.Domain (Домен)
  • Свойство TInlineExpression.Domain (Домен)
  • Свойство TOption.Domain (Домен)
  • Свойство TOptionValue.Domain (Домен)
  • Конструктор TParameter.Create (Конструктор параметра)
  • Конструктор TField.Create (Конструктор поля)
  • Конструктор TProperty.Create (Конструктор свойства)
  • Конструктор TInlineExpression.Create (Конструктор встраиваемого выражения)
  • Конструктор TOption.Create (Конструктор настройки)


Домен ссылок на объекты TForm required domain (Форма (обязательно))

(одним файлом)
Домен ссылок на объекты TForm required domain (Форма (обязательно))
Значение обязательно для заполнения. Ссылка на класс TForm (Формы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания обязательной ссылки на форму.

См. также
  • Поле TVisualGroupForm.FForm (Форма)
  • Свойство TVisualGroupForm.Form (Форма)
  • Свойство TInstantMessage.Form (Форма)
  • Конструктор TFormAccess.Create (Конструктор доступа к форме)
  • Конструктор TVisualGroupForm.Create (Конструктор формы визуальной группы)


Домен ссылок на объекты TFormView domain (Представления форм)

(одним файлом)
Домен ссылок на объекты TFormView domain (Представления форм)
Ссылка на класс TFormView (Представления формы) . При удалении объекта-источника ссылки значение ссылки очищается.

Используется для задания ссылки на представление формы.

Использование этого домена в прикладных решениях не рекомендуется.

См. также
  • Поле TInstantMessage.FFormView (Представление формы)
  • Свойство TInstantMessage.FormView (Представление формы)
  • Конструктор TInstantMessage.Create (Конструктор сообщения)
  • Процедура TObject.SendMessage (Отправить сообщение)


Домен ссылок на объекты TInitializationMember domain (Член класса для инициализации)

(одним файлом)
Домен ссылок на объекты TInitializationMember domain (Член класса для инициализации)
Ссылка на класс TClassMember (Члены класса) .

Домен отбирает члены класса, которые

  • либо являются свойствами того же класса, которому принадлежит родительский метод параметра, либо его предков, домен которых совпадает по классу с доменом параметра
  • либо являются функциями того же класса, которому принадлежит родительский метод параметра, либо его предков, домен результата которых совпадает по классу с доменом параметра

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TParameter.FInitializationMember (Инициализируется членом)
  • Свойство TParameter.InitializationMember (Инициализируется членом класса)
  • Конструктор TParameter.Create (Конструктор параметра)


Домен ссылок на объекты TList domain (Список объектов)

(одним файлом)
Домен ссылок на объекты TList domain (Список объектов)
Ссылка на класс TObjectList (Списки) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания каскадной ссылки на список объектов. Списки могут использоваться в тех случаях, в которых необходимо передавать набор объектов.

См. также
  • Функция TClass.ListProperties (Список видимых свойств)
  • Функция TClass.ListRoutines (Список видимых подпрограмм)
  • Процедура TObject.SendMessage (Отправить сообщение)


Домен ссылок на объекты TMaster domain (Объект (с каскадным удалением))

(одним файлом)
Домен ссылок на объекты TMaster domain (Объект (с каскадным удалением))
Значение обязательно для заполнения. Ссылка на класс TObject (Объекты) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает объекты, которые принадлежат к тому классу, который объявлен классом-мастером класса объекта.

Использование этого домена в прикладных решениях запрещено.

Этот домен используется в объявлении свойства TObject.Master, поэтому значение его сделано обязательным: в тех случаях, когда cвойство TObject.Master (Мастер) имеет смысл (для объектов, инкапсулированных в другие объекты), значение свойства обязательно.

См. также
  • Свойство TObject.Master (Мастер)
  • Конструктор TObject.Create (Конструктор объекта)
  • Конструктор TRoleMember.Create (Конструктор члена роли)
  • Функция TFormView.GetNextPos (Следующая позиция)


Домен ссылок на объекты TMaster field domain (Домен поля "Мастер")

(одним файлом)
Домен ссылок на объекты TMaster field domain (Домен поля "Мастер")
Ссылка на класс TObject (Объекты) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает объекты, которые принадлежат к тому классу, который объявлен классом-мастером класса объекта.

Использование этого домена в прикладных решениях запрещено.

Этот домен используется в объявлении поля TObject.FMaster (Мастер), поэтому значение его сделано необязательным: объектах, не инкапсулированных в другие классы значение поля обязано оставаться пустым.

Ссылка на класс TObject (Объекты).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.
См. также
  • Поле TObject.FMaster (Мастер)


Домен ссылок на объекты TMasterProperty domain (Свойство-главное)

(одним файлом)
Домен ссылок на объекты TMasterProperty domain (Свойство-главное)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается.

Домен отбирает свойства класса, на котором основано родительское в форме представление, или его предков для организации связи между представлениями.

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TFormView.FMasterProperty (Свойство-главное)
  • Поле TViewAction.FMasterProperty (Свойство-главное)
  • Свойство TFormView.MasterProperty (Свойство-главное)
  • Свойство TViewAction.MasterProperty (Свойство-главное)
  • Конструктор TFormView.Create (Конструктор представления формы)
  • Конструктор TViewAction.Create (Конструктор действия-представления)


Домен ссылок на объекты TMergedObject domain (Объект для отождествления)

(одним файлом)
Домен ссылок на объекты TMergedObject domain (Объект для отождествления)
Значение обязательно для заполнения. Ссылка на класс TObject (Объекты) .

Объект отбирает объекты, включенные в тот же объект, что и текущий (либо они оба не включены ни в какой), и класс которых совпадает либо является родителем класса текущего объекта.

Использование этого домена в прикладных решениях запрещено.

См. также
  • Процедура TObject.MergeTo (Отождествить с)


Домен ссылок на объекты TObject domain (Объект)

(одним файлом)
Домен ссылок на объекты TObject domain (Объект)
Ссылка на класс TObject (Объекты) .

Домен определяет необязательную ссылку на объект системы. Используется там, где нельзя сделать предположения о классе передаваемого объекта.

См. также
  • Поле TObjectListItem.FObject (Объект)
  • Поле TOptionValue.FObjectValue (Значение-объект)
  • Поле TInstantMessage.FObject (Объект)
  • Свойство TOptionValue.ObjectValue (Значение-объект)
  • Свойство TInstantMessage.Object (Объект)
  • Конструктор TObject.Create (Конструктор объекта)
  • Конструктор TMethod.Create (Конструктор метода)
  • Конструктор TParameter.Create (Конструктор параметра)
  • Конструктор TEnumerationItem.Create (Конструктор элемента перечисления)
  • Конструктор TField.Create (Конструктор поля)
  • Конструктор TProperty.Create (Конструктор свойства)
  • Конструктор TView.Create (Конструктор представления)
  • Конструктор TUser.Create (Конструктор пользователя)
  • Конструктор TRole.Create (Конструктор роли)
  • Конструктор TAction.Create (Конструктор действия)
  • Конструктор TViewColumn.Create (Конструктор колонки представления)
  • Конструктор TForm.Create (Конструктор формы)
  • Конструктор TObjectList.Create (Конструктор списка)
  • Конструктор TObjectListItem.Create (Конструктор элемента списка)
  • Функция TObjectList.GetItem (Получить объект из списка)
  • Конструктор TBlobDomain.Create (Конструктор домена больших объектов)
  • Конструктор TFloatDomain.Create (Конструктор вещественного домена)
  • Конструктор TTimeDomain.Create (Конструктор домена времени)
  • Конструктор TDateDomain.Create (Конструктор домена даты)
  • Конструктор TDateTimeDomain.Create (Конструктор домена даты со временем)
  • Конструктор TXSLTTemplate.Create (Конструктор шаблона xslt)
  • Конструктор TExcelTemplate.Create (Конструктор шаблона Excel)
  • Конструктор TAccessibleFile.Create (Конструктор доступного файла)
  • Конструктор TRoutine.Create (Конструктор подпрограммы)
  • Конструктор TOleObjectMethod.Create (Конструктор метода Ole-объекта)
  • Конструктор TRoutineAction.Create (Конструктор программируемого действия)
  • Конструктор TDataBase.Create (Конструктор базы данных)
  • Конструктор TFormAccess.Create (Конструктор доступа к форме)
  • Функция TObject.GetRoot (Получить корень иерархии)
  • Конструктор TInlineExpression.Create (Конструктор встраиваемого выражения)
  • Конструктор TOption.Create (Конструктор настройки)
  • Конструктор TOptionValue.Create (Конструктор значения настройки)
  • Функция TOption.GetObjectValue (Значение-объект)
  • Конструктор TFormView.Create (Конструктор представления формы)
  • Конструктор TViewAction.Create (Конструктор действия-представления)
  • Конструктор TVisualGroup.Create (Конструктор визуальной группы)
  • Конструктор TVisualGroupItem.Create (Конструктор элемента визуальной группы)
  • Конструктор TVisualGroupForm.Create (Конструктор формы визуальной группы)
  • Конструктор TVisualGroupAccess.Create (Конструктор доступа к визуальной группе)
  • Конструктор TFileNameDomain.Create (Конструктор имени файла)
  • Конструктор TFolderNameDomain.Create (Конструктор имени папки)
  • Конструктор TVisualGroupRoutine.Create (Конструктор подпрограммы визуальной группы)
  • Конструктор TBanGroup.Create (Конструктор группы запретов)
  • Конструктор TBanGroupAccess.Create (Конструктор доступа к группе запретов)
  • Конструктор TBanGroupItem.Create (Конструктор элемента группы запретов)
  • Конструктор TClassBan.Create (Конструктор запрета на класс)
  • Конструктор TRoutineBan.Create (Конструктор запрета на подпрограмму)
  • Конструктор TPropertyBan.Create (Конструктор запрета на свойство)
  • Функция TObject.IfThenObject (Выбор из двух объектов)
  • Конструктор TWordTemplate.Create (Конструктор шаблона Word)
  • Конструктор TInstantMessage.Create (Конструктор сообщения)
  • Функция TObject.HasAsChild (Объект является ребенком данного)
  • Функция TObject.HasAsParent (Объект является родителем данного)
  • Процедура TObjectList.Add (Добавить объект в список)
  • Процедура TObjectList.Delete (Удалить объект)
  • Процедура TObjectList.SetItem (Установить объект в списке)
  • Функция TObjectList.IndexOf (Индек объекта в списке)
  • Функция TParameter.GetNextPos (Следующая позиция)
  • Функция TProperty.GetNextPos (Следующая позиция)
  • Функция TEnumerationItem.GetNextPos (Следующая позиция)
  • Функция TAction.GetNextPos (Следующая позиция)
  • Функция TViewColumn.GetNextPos (Следующая позиция)
  • Функция TObject.DependsOn (Зависит от)
  • Процедура TOption.SetValue (Установка значения)
  • Функция TObject.Assigned (Проверка пустоты значения)
  • Функция TFormView.GetNextPos (Следующая позиция)
  • Функция TVisualGroup.GetNextPos (Следующая позиция)
  • Функция TVisualGroupItem.GetNextPos (Следующая позиция)
  • Процедура TObjectList.Force (Добавить, игнорируя ограничения)
  • Конструктор TCommandButton.Create (Конструктор командной кнопки)
  • Конструктор TAccessItem.Create (Конструктор элемента доступа)
  • Функция TObject.Find (Поиск объекта)


Домен ссылок на объекты TOption required domain (Настройка (обязательно))

(одним файлом)
Домен ссылок на объекты TOption required domain (Настройка (обязательно))
Значение обязательно для заполнения. Ссылка на класс TOption (Настройки) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен определяет обязательную ссылку на настройку системы и используется значениями настроек.

Использование этого домена в прикладных решениях запрещено.

См. также
  • Свойство TOptionValue.Option (Настройка)


Домен ссылок на объекты TOptionValue domain (Значение настройки)

(одним файлом)
Домен ссылок на объекты TOptionValue domain (Значение настройки)
Ссылка на класс TOptionValue (Значения настроек) .

Домен определяет ссылку на значение настройки системы.

См. также
  • Свойство TOption.Value (Значение)
  • Функция TOption.GetValue (Значение)


Домен ссылок на объекты TParent domain (Родитель объекта)

(одним файлом)
Домен ссылок на объекты TParent domain (Родитель объекта)
Ссылка на класс TObject (Объекты) .

Домен отбирает объекты, которые могуть быть родителем объекта в иерархии.

Использование этого домена в прикладных решениях запрещено. Там, где это необходимо, используйте специализированные домены.

См. также
  • Поле TObject.FParent (Родитель)
  • Свойство TObject.Parent (Родитель)
  • Конструктор TObject.Create (Конструктор объекта)
  • Функция TProperty.GetNextPos (Следующая позиция)
  • Функция TAction.GetNextPos (Следующая позиция)


Домен ссылок на объекты TReadMember domain (Член класса для чтения)

(одним файлом)
Домен ссылок на объекты TReadMember domain (Член класса для чтения)
Ссылка на класс TClassMember (Члены класса) .

Домен отбирает члены класса, которые

  • либо являются полями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен которых совпадает по классу с доменом свойства
  • либо являются функциями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен результата которых совпадает по классу с доменом свойства
  • либо являются встраиваемыми выражениями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен результата которых совпадает по классу с доменом свойства

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TProperty.FReadMember (Член класса для чтения)
  • Свойство TProperty.ReadMember (Член класса для чтения)
  • Конструктор TProperty.Create (Конструктор свойства)


Домен ссылок на объекты TSecurityAccount domain (Роль безопасности)

(одним файлом)
Домен ссылок на объекты TSecurityAccount domain (Роль безопасности)
Ссылка на класс TSecurityAccount (Роли безопасности) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания необязательной каскадной ссылки на роль безопасности.

См. также
  • Процедура TObject.SendMessage (Отправить сообщение)


Домен ссылок на объекты TSecurityAccount required domain (Роль безопасности (обязательно))

(одним файлом)
Домен ссылок на объекты TSecurityAccount required domain (Роль безопасности (обязательно))
Значение обязательно для заполнения. Ссылка на класс TSecurityAccount (Роли безопасности) .

Используется для задания обязательной ссылки на роль безопасности.

См. также
  • Конструктор TFormAccess.Create (Конструктор доступа к форме)
  • Конструктор TVisualGroupAccess.Create (Конструктор доступа к визуальной группе)
  • Конструктор TBanGroupAccess.Create (Конструктор доступа к группе запретов)
  • Поле TAccessItem.FSecurityAccount (Роль безопасности)
  • Свойство TAccessItem.SecurityAccount (Роль безопасности)
  • Поле TRoleMember.FUser (Пользователь)
  • Свойство TRoleMember.User (Пользователь)


Домен ссылок на объекты TSourceDataBase required domain (База данных)

(одним файлом)
Домен ссылок на объекты TSourceDataBase required domain (База данных)
Значение обязательно для заполнения. Ссылка на класс TDataBase (Базы данных) .

Домен используется для организации ссылки на логическую базу данных Системы.

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TObject.FSourceDataBase (База данных)
  • Свойство TObject.SourceDataBase (База данных-источник)


Домен ссылок на объекты TUser domain (Пользователь)

(одним файлом)
Домен ссылок на объекты TUser domain (Пользователь)
Ссылка на класс TUser (Пользователи) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания необязательной каскадной ссылки на пользователя Системы.

См. также
  • Поле TOptionValue.FUser (Пользователь)
  • Свойство TOptionValue.User (Пользователь)
  • Свойство TOption.User (Пользователь)
  • Конструктор TOptionValue.Create (Конструктор значения настройки)


Домен ссылок на объекты TUser required domain (Пользователь)

(одним файлом)
Домен ссылок на объекты TUser required domain (Пользователь)
Значение обязательно для заполнения. Ссылка на класс TUser (Пользователи) .

Используется для задания обязательной ссылки на пользователя.

См. также
  • Поле TRoleMember.FUser (Пользователь)
  • Поле TObject.FCreator (Создано пользователем)
  • Поле TObject.FModifier (Изменено пользователем)
  • Поле TInstantMessage.FUser (Пользователь)
  • Свойство TRoleMember.User (Пользователь)
  • Свойство TObject.Creator (Создано пользователем)
  • Свойство TObject.Modifier (Изменено пользователем)
  • Свойство TInstantMessage.User (Пользователь)
  • Конструктор TRoleMember.Create (Конструктор члена роли)
  • Конструктор TInstantMessage.Create (Конструктор сообщения)


Домен ссылок на объекты TView of ClassDomain domain (Представление)

(одним файлом)
Домен ссылок на объекты TView of ClassDomain domain (Представление)
Ссылка на класс TView (Представления) .

Домен отбирает те представления, которые основаны на классе, на который указывает ссылочный домен, либо на его предков.

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TClassDomain.FView (Представление)
  • Свойство TClassDomain.View (Представление)
  • Конструктор TClassDomain.Create (Конструктор домена-ссылки)


Домен ссылок на объекты TView of FormView domain (Представление для формы)

(одним файлом)
Домен ссылок на объекты TView of FormView domain (Представление для формы)
Значение обязательно для заполнения. Ссылка на класс TView (Представления) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен используется для постороения иерархии представлений форм и действий, основанных на представлении.

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TFormView.FView (Представление)
  • Поле TViewAction.FView (Представление)
  • Свойство TFormView.View (Представление)
  • Свойство TViewAction.View (Представление)
  • Конструктор TFormView.Create (Конструктор представления формы)
  • Конструктор TViewAction.Create (Конструктор действия-представления)


Домен ссылок на объекты TVisualGroup required domain (Визуальная группа (обязательно))

(одним файлом)
Домен ссылок на объекты TVisualGroup required domain (Визуальная группа (обязательно))
Значение обязательно для заполнения. Ссылка на класс TVisualGroup (Визуальные группы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания обязательной ссылки на визуальную группу.

См. также
  • Конструктор TVisualGroupAccess.Create (Конструктор доступа к визуальной группе)


Домен ссылок на объекты TVisualGroup routine domain (Подпрограмма визуальной группы)

(одним файлом)
Домен ссылок на объекты TVisualGroup routine domain (Подпрограмма визуальной группы)
Значение обязательно для заполнения. Ссылка на класс TRoutine (Подпрограмма) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Отбирает подпрограммы, являющиеся методами класса, для использования в элементах визуальных групп.

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TVisualGroupRoutine.FRoutine (Подпрограмма)
  • Свойство TVisualGroupRoutine.Routine (Подпрограмма)
  • Конструктор TVisualGroupRoutine.Create (Конструктор подпрограммы визуальной группы)


Домен ссылок на объекты TWriteMember domain (Член класса для записи)

(одним файлом)
Домен ссылок на объекты TWriteMember domain (Член класса для записи)
Ссылка на класс TClassMember (Члены класса) .

Домен отбирает члены класса, которые

  • либо являются полями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен которых совпадает по классу с доменом свойства
  • либо являются процедурами с одним параметром того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен результата которых совпадает по классу с доменом свойства

Использование этого домена в прикладных решениях запрещено.

См. также
  • Поле TProperty.FWriteMember (Член класса для записи)
  • Свойство TProperty.WriteMember (Член класса для записи)
  • Конструктор TProperty.Create (Конструктор свойства)


Класс TAccessItem (Элементы доступа)

(раздел целиком) (одним файлом)
Класс TAccessItem (Элементы доступа)
  • Конструктор TAccessItem.Create (Конструктор элемента доступа)
  • Поле TAccessItem.FSecurityAccount (Роль безопасности)
  • Свойство TAccessItem.Description (Наименование)
  • Свойство TAccessItem.Name (Имя)
  • Свойство TAccessItem.SecurityAccount (Роль безопасности)
  • Функция TAccessItem.GetIsAccessible (Проверка доступности)


Конструктор TAccessItem.Create (Конструктор элемента доступа)

(одним файлом)
Конструктор TAccessItem.Create (Конструктор элемента доступа)

Этот раздел еще предстоит написать.


Поле TAccessItem.FSecurityAccount (Роль безопасности)

(одним файлом)
Поле TAccessItem.FSecurityAccount (Роль безопасности)

Этот раздел еще предстоит написать.


Свойство TAccessItem.Description (Наименование)

(одним файлом)
Свойство TAccessItem.Description (Наименование)

Этот раздел еще предстоит написать.


Свойство TAccessItem.Name (Имя)

(одним файлом)
Свойство TAccessItem.Name (Имя)

Этот раздел еще предстоит написать.


Свойство TAccessItem.SecurityAccount (Роль безопасности)

(одним файлом)
Свойство TAccessItem.SecurityAccount (Роль безопасности)

Этот раздел еще предстоит написать.


Функция TAccessItem.GetIsAccessible (Проверка доступности)

(одним файлом)
Функция TAccessItem.GetIsAccessible (Проверка доступности)

Этот раздел еще предстоит написать.


Класс TAccessibleFile (Доступный файл)

(раздел целиком) (одним файлом)
Класс TAccessibleFile (Доступный файл)
Унаследован от класса TObject (Объекты).

Класс предназначен для хранения (двоичных) именованных (cвойство TObject.Name (Имя)) файлов внутри Системы. Содержимое этих файлов используется Системой в качестве источника статичных данных (картинок, стилевых таблиц, скриптовых библиотек, etc), доступных по протоколу http внутри отчета XSLT и для хранения библиотек кода, содержащих логику работы методов Ole-объекта. Разработчик решения вправе распорядится доступными файлами по своему усмотрению.

  • Конструктор TAccessibleFile.Create (Конструктор доступного файла)
  • Поле TAccessibleFile.FFileData (Данные файла)
  • Свойство TAccessibleFile.FileData (Данные файла)


Конструктор TAccessibleFile.Create (Конструктор доступного файла)

(одним файлом)
Конструктор TAccessibleFile.Create (Конструктор доступного файла)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
FileData (Данные файла) | TFileContent (Содержимое файлов) |  | Доступен |

Конструирует объект класса TAccessibleFile (Доступный файл) .

См. также
  • Класс TAccessibleFile (Доступный файл)


Поле TAccessibleFile.FFileData (Данные файла)

(одним файлом)
Поле TAccessibleFile.FFileData (Данные файла)
FFileData: TFileContent (Содержимое файлов).

Используется для хранения значений свойства TAccessibleFile.FileData (Данные файла).

См. также
  • Класс TAccessibleFile (Доступный файл)
  • Свойство TAccessibleFile.FileData (Данные файла)


Свойство TAccessibleFile.FileData (Данные файла)

(одним файлом)
Свойство TAccessibleFile.FileData (Данные файла)
FileData : TFileContent (Содержимое файлов) .

Для чтения и записи свойства используется поле TAccessibleFile.FFileData (Данные файла) .

Это свойство определяет содержимое доступного файла.

См. также
  • Класс TAccessibleFile (Доступный файл)


Класс TAction (Действия)

(раздел целиком) (одним файлом)
Класс TAction (Действия)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

Объекты класса моделируют элементы контектсного меню представления. Иерархия элементов контектсного меню отображается на иерахию объектов класса.

Сам по себе объект класса TAction определяет положение и поведение соответствующего пункта контекстного меню, кроме ассоциированного с пуктом действия. Для спецификации этого действия существуют классы-наследники TAction: класс TRoutineAction (Программируемое действие) и класс TViewAction (Действие-представление). Таким образом, объекты собственно класса TAction создаются на месте родительских пунктов контекстного меню, раскрывающихся, содержащих Стрелка раскрытия контекстного меню. Несмотря на то, что класс не является абстратным в строгом смылсле этого слова, ни одного объекта этого класса в системных метаданных нет в силу простоты структуры контекстного меню системных представлений. Разработчик решений не ограничен в создании и использовании объектов этого класса. Никаких общих рекомендаций тут быть не может, единственное, что можно утверждать - что контекстное меню должно быть удобным и в достижении этой цели можно организовывать требуемую иерархическую структуру.

Иерархия объектов класса TAction
На основе иерархии действий, показанной на рисунке (в таблице отображен фактический класс каждого объекта) построено следующее контекстное меню:
Контекстное меню, построенное на основе иерархии объектов класса TAction
  • Конструктор TAction.Create (Конструктор действия)
  • Поле TAction.FDefault (По умолчанию)
  • Поле TAction.FPosition (Позиция)
  • Поле TAction.FSeparated (Отделено)
  • Поле TAction.FShortcut (Горячая клавиша)
  • Свойство TAction.Default (По умолчанию)
  • Свойство TAction.Position (Позиция)
  • Свойство TAction.Separated (Отделено)
  • Свойство TAction.Shortcut (Горячая клавиша)
  • Функция TAction.GetNextPos (Следующая позиция)


Конструктор TAction.Create (Конструктор действия)

(одним файлом)
Конструктор TAction.Create (Конструктор действия)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) |  | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TAction (Действия) .

См. также
  • Класс TAction (Действия)


Поле TAction.FDefault (По умолчанию)

(одним файлом)
Поле TAction.FDefault (По умолчанию)
FDefault : Boolean (Обычное логическое) (обязательно для заполнения).

Используется для хранения значений свойства TAction.Default (По умолчанию).

См. также
  • Класс TAction (Действия)
  • Свойство TAction.Default (По умолчанию)


Поле TAction.FPosition (Позиция)

(одним файлом)
Поле TAction.FPosition (Позиция)
FPosition : TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TAction.Position (Позиция).

См. также
  • Класс TAction (Действия)
  • Свойство TAction.Position (Позиция)


Поле TAction.FSeparated (Отделено)

(одним файлом)
Поле TAction.FSeparated (Отделено)
FSeparated : Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TAction.Separated (Отделено).

См. также
  • Класс TAction (Действия)
  • Свойство TAction.Separated (Отделено)


Поле TAction.FShortcut (Горячая клавиша)

(одним файлом)
Поле TAction.FShortcut (Горячая клавиша)
FShortcut : TShortcut (Горячие клавиши) .

Используется для хранения значений свойства TAction.Shortcut (Горячая клавиша).

См. также
  • Класс TAction (Действия)
  • Свойство TAction.Shortcut (Горячая клавиша)


Свойство TAction.Default (По умолчанию)

(одним файлом)
Свойство TAction.Default (По умолчанию)
Default : Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FDefault (По умолчанию) .

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

Действие по умолчанию
См. также
  • Класс TAction (Действия)


Свойство TAction.Position (Позиция)

(одним файлом)
Свойство TAction.Position (Позиция)
Position : TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FPosition (Позиция) .

Действия сортируются в пределах уровня для построения контекстного меню в порядке возрастания этого своства.

См. также
  • Класс TAction (Действия)


Свойство TAction.Separated (Отделено)

(одним файлом)
Свойство TAction.Separated (Отделено)
Separated : Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FSeparated (Отделено) .

После пункта меню, соответствующего действию с установленным свойством, будет отображен разделитель. Если пункт меню - последний, то разделитель не будет отображен.

Разделитель в контектстном меню
См. также
  • Класс TAction (Действия)


Свойство TAction.Shortcut (Горячая клавиша)

(одним файлом)
Свойство TAction.Shortcut (Горячая клавиша)
Shortcut : TShortcut (Горячие клавиши) .

Для чтения и записи свойства используется поле TAction.FShortcut (Горячая клавиша) .

Горячая клавиша определяет связь между нажатием сочетания клавиш на клавиатуре и действием, ассоциированным с пунктом меню. Тест, описывающий горячую клавишу, располагается справа в контекстном меню для тех действий, для которых горячая клавиша назначена.

См. также
  • Класс TAction (Действия)


Функция TAction.GetNextPos (Следующая позиция)

(одним файлом)
Функция TAction.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен | Master (Мастер)
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Возвращает значение типа Integer (Целое).

Используется для инициализации значения параметра Position (Позиция) метода TAction.Create (Конструктор действия). Вычисляет следующую позицию добавляемого действия.

См. также
  • Класс TAction (Действия)


Класс TBanGroup (Группы запретов)

(раздел целиком) (одним файлом)
Класс TBanGroup (Группы запретов)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TBanGroupAccess (Доступ к группам запретов)
  • TBanGroupItem (Элементы группы запретов)
  • TClassBan (Запрет на класс)
  • TRoutineBan (Запрет на подпрограмму)
  • TPropertyBan (Запрет на свойство)

Объекты класса определяют группы запретов. Запреты на классы, свойства и подпрограммы объединяются разработчиком в функциональные группы, являющиеся группами запретов. В дальнейшем эти группы ассоциируются с конкретными ролями безопасности.

  • Конструктор TBanGroup.Create (Конструктор группы запретов)
  • Свойство TBanGroup.IsAccessible (Доступна)
  • Функция TBanGroup.GetIsAccessible (Доступна)


Конструктор TBanGroup.Create (Конструктор группы запретов)

(одним файлом)
Конструктор TBanGroup.Create (Конструктор группы запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TBanGroup (Группы запретов) .

См. также
  • Класс TBanGroup (Группы запретов)


Свойство TBanGroup.IsAccessible (Доступна)

(одним файлом)
Свойство TBanGroup.IsAccessible (Доступна)
IsAccessible : Boolean (Обычное логическое) (обязательно для заполнения).

Для чтения значения свойства используется функция TBanGroup.GetIsAccessible (Доступна) . Свойство доступно только для чтения.

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

См. также
  • Класс TBanGroup (Группы запретов)


Функция TBanGroup.GetIsAccessible (Доступна)

(одним файлом)
Функция TBanGroup.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TBanGroup.IsAccessible (Доступна).

См. также
  • Класс TBanGroup (Группы запретов)


Класс TBanGroupAccess (Доступ к группам запретов)

(раздел целиком) (одним файлом)
Класс TBanGroupAccess (Доступ к группам запретов)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

Объекты класса определяют связь между родительской группой запретов и ролью безопасности.

Имя и наименование объекта полностью определяются другими свойствами, и запрещены для изменения.

  • Конструктор TBanGroupAccess.Create (Конструктор доступа к группе запретов)


Конструктор TBanGroupAccess.Create (Конструктор доступа к группе запретов)

(одним файлом)
Конструктор TBanGroupAccess.Create (Конструктор доступа к группе запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Группа запретов) | TBanGroup domain (Группа запретов) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TBanGroupAccess (Доступ к группам запретов) .

См. также
  • Класс TBanGroupAccess (Доступ к группам запретов)


Класс TBanGroupItem (Элементы группы запретов)

(раздел целиком) (одним файлом)
Класс TBanGroupItem (Элементы группы запретов)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

  • Конструктор TBanGroupItem.Create (Конструктор элемента группы запретов)


Конструктор TBanGroupItem.Create (Конструктор элемента группы запретов)

(одним файлом)
Конструктор TBanGroupItem.Create (Конструктор элемента группы запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TBanGroupItem (Элементы группы запретов) .

См. также
  • Класс TBanGroupItem (Элементы группы запретов)


Класс TBlobDomain (Большие объекты)

(раздел целиком) (одним файлом)
Класс TBlobDomain (Большие объекты)
Унаследован от класса TDomain (Домены) .

  • Конструктор TBlobDomain.Create (Конструктор домена больших объектов)
  • Поле TBlobDomain.FBlobSubtype (Подтип)
  • Поле TBlobDomain.FExtension (Расширение имени)
  • Свойство TBlobDomain.BlobSubtype (Подтип)
  • Свойство TBlobDomain.Extension (Расширение)


Конструктор TBlobDomain.Create (Конструктор домена больших объектов)

(одним файлом)
Конструктор TBlobDomain.Create (Конструктор домена больших объектов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
BlobSubtype (Подтип) | TBlobSubtype (Подтип) |  | Доступен |
Extension (Расширение) | TFileExtension (Расширение имени файла) |  | Доступен |

Конструирует объект класса TBlobDomain (Большие объекты) .

См. также
  • Класс TBlobDomain (Большие объекты)


Поле TBlobDomain.FBlobSubtype (Подтип)

(одним файлом)
Поле TBlobDomain.FBlobSubtype (Подтип)
FBlobSubtype: TBlobSubtype (Подтип) (обязательно для заполнения) .

Используется для хранения значений свойства TBlobDomain.BlobSubtype (Подтип)
.

См. также
  • Класс TBlobDomain (Большие объекты)
  • Свойство TBlobDomain.BlobSubtype (Подтип)


Поле TBlobDomain.FExtension (Расширение имени)

(одним файлом)
Поле TBlobDomain.FExtension (Расширение имени)
FExtension: TFileExtension (Расширение имени файла) .

Используется для хранения значений свойства TBlobDomain.Extension (Расширение)
.

См. также
  • Класс TBlobDomain (Большие объекты)
  • Свойство TBlobDomain.Extension (Расширение)


Свойство TBlobDomain.BlobSubtype (Подтип)

(одним файлом)
Свойство TBlobDomain.BlobSubtype (Подтип)
BlobSubtype: TBlobSubtype (Подтип) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBlobDomain.FBlobSubtype (Подтип) .

См. также
  • Класс TBlobDomain (Большие объекты)


Свойство TBlobDomain.Extension (Расширение)

(одним файлом)
Свойство TBlobDomain.Extension (Расширение)
Extension: TFileExtension (Расширение имени файла) .

Для чтения и записи свойства используется поле TBlobDomain.FExtension (Расширение имени) .

См. также
  • Класс TBlobDomain (Большие объекты)


Класс TBooleanDomain (Логические)

(раздел целиком) (одним файлом)
Класс TBooleanDomain (Логические)
Унаследован от класса TDomain (Домены) .

  • Конструктор TBooleanDomain.Create (Конструктор логического домена)
  • Поле TBooleanDomain.FFalseValue (Значение "Ложь")
  • Поле TBooleanDomain.FTrueValue (Значение "Истина")
  • Свойство TBooleanDomain.FalseValue (Значение "Ложь")
  • Свойство TBooleanDomain.TrueValue (Значение "Истина")


Конструктор TBooleanDomain.Create (Конструктор логического домена)

(одним файлом)
Конструктор TBooleanDomain.Create (Конструктор логического домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
TrueValue (Значение "Истина") | TObjectName (Имена) |  | Доступен |
FalseValue (Значение "Ложь") | TObjectName (Имена) |  | Доступен |

Конструирует объект класса TBooleanDomain (Логические) .

См. также
  • Класс TBooleanDomain (Логические)


Поле TBooleanDomain.FFalseValue (Значение "Ложь")

(одним файлом)
Поле TBooleanDomain.FFalseValue (Значение "Ложь")
FFalseValue: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойства TBooleanDomain.FalseValue (Значение "Ложь")
.

См. также
  • Класс TBooleanDomain (Логические)
  • Свойство TBooleanDomain.FalseValue (Значение "Ложь")


Поле TBooleanDomain.FTrueValue (Значение "Истина")

(одним файлом)
Поле TBooleanDomain.FTrueValue (Значение "Истина")
FTrueValue: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойства TBooleanDomain.TrueValue (Значение "Истина")
.

См. также
  • Класс TBooleanDomain (Логические)
  • Свойство TBooleanDomain.TrueValue (Значение "Истина")


Свойство TBooleanDomain.FalseValue (Значение "Ложь")

(одним файлом)
Свойство TBooleanDomain.FalseValue (Значение "Ложь")
FalseValue: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBooleanDomain.FFalseValue (Значение "Ложь") .

См. также
  • Класс TBooleanDomain (Логические)


Свойство TBooleanDomain.TrueValue (Значение "Истина")

(одним файлом)
Свойство TBooleanDomain.TrueValue (Значение "Истина")
TrueValue: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBooleanDomain.FTrueValue (Значение "Истина") .

См. также
  • Класс TBooleanDomain (Логические)


Класс TClass (Классы)

(раздел целиком) (одним файлом)
Класс TClass (Классы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты могут включать в себя объекты классов:
  • TClassMember (Члены класса)
  • TField (Поля)
  • TProperty (Свойства)
  • TMethod (Методы)
  • TXSLTTemplate (Шаблоны отчетов XSLT)
  • TExcelTemplate (Шаблоны отчетов Excel)
  • TRoutine (Подпрограмма)
  • TOleObjectMethod (Метод Ole-объекта)
  • TInlineExpression (Встраиваемое выражение)
  • TWordTemplate (Шаблоны отчетов Word)

  • Конструктор TClass.Create (Конструктор класса)
  • Поле TClass.FDescriptionExpression (Выражение наименования объекта)
  • Поле TClass.FIsHierarhical (Является иерархическим)
  • Поле TClass.FMasterClass (Класс-мастер)
  • Поле TClass.FNameExpression (Выражение имени объекта)
  • Поле TClass.FReplicationStatus (Статус репликации)
  • Поле TClass.FSecurityModel (Модель безопасности)
  • Поле TClass.FUnNamed (Неименованный)
  • Процедура TClass.GenerateConstructor (Сгенерировать текст конструктора)
  • Свойство TClass.DescriptionExpression (Выражение наименования объекта)
  • Свойство TClass.IsHierarhical (Является иерархическим)
  • Свойство TClass.MasterClass (Класс-мастер)
  • Свойство TClass.NameExpression (Выражение имени объекта)
  • Свойство TClass.ReplicationStatus (Статус репликации)
  • Свойство TClass.SecurityModel (Модель безопасности)
  • Свойство TClass.UnNamed (Неименованный)
  • Функция TClass.ListProperties (Список видимых свойств)
  • Функция TClass.ListRoutines (Список видимых подпрограмм)
  • Шаблон отчета XSLT TClass.ClassesDiagram (Диаграмма классов)


Конструктор TClass.Create (Конструктор класса)

(одним файлом)
Конструктор TClass.Create (Конструктор класса)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsHierarhical (Является иерархическим) | Boolean (Обычное логическое) |  | Доступен |
MasterClass (Класс-мастер) | TClass domain (Класс) |  | Доступен |
ReplicationStatus (Статус репликации) | TReplicationStatus (Статус репликации) |  | Доступен |
SecurityModel (Модель безопасности) | TSecurityModel (Модели безопасности) |  | Доступен |
UnNamed (Неименованный) | Boolean (Обычное логическое) |  | Доступен |
NameExpression (Выражение имени объекта) | TInlineExpressionText (Текст выражения) |  | Доступен |
DescriptionExpression (Выражение наименования объекта) | TInlineExpressionText (Текст выражения) |  | Доступен |
CreateConstructor (Создать конструктор) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TClass (Классы) .

См. также
  • Класс TClass (Классы)


Поле TClass.FDescriptionExpression (Выражение наименования объекта)

(одним файлом)
Поле TClass.FDescriptionExpression (Выражение наименования объекта)
FDescriptionExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TClass.DescriptionExpression (Выражение наименования объекта)
.

См. также
  • Класс TClass (Классы)
  • Свойство TClass.DescriptionExpression (Выражение наименования объекта)


Поле TClass.FIsHierarhical (Является иерархическим)

(одним файлом)
Поле TClass.FIsHierarhical (Является иерархическим)
FIsHierarhical: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.IsHierarhical (Является иерархическим)
.

См. также
  • Класс TClass (Классы)
  • Свойство TClass.IsHierarhical (Является иерархическим)


Поле TClass.FMasterClass (Класс-мастер)

(одним файлом)
Поле TClass.FMasterClass (Класс-мастер)
FMasterClass: TClass domain (Класс) .

Используется для хранения значений свойств:
TClass.MasterClass (Класс-мастер)
TView.ShownClassMasterClass (Класс-мастер показываемого)
.

См. также
  • Класс TClass (Классы)
  • Свойство TClass.MasterClass (Класс-мастер)
  • Свойство TView.ShownClassMasterClass (Класс-мастер показываемого)


Поле TClass.FNameExpression (Выражение имени объекта)

(одним файлом)
Поле TClass.FNameExpression (Выражение имени объекта)
FNameExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TClass.NameExpression (Выражение имени объекта)
.

См. также
  • Класс TClass (Классы)
  • Свойство TClass.NameExpression (Выражение имени объекта)


Поле TClass.FReplicationStatus (Статус репликации)

(одним файлом)
Поле TClass.FReplicationStatus (Статус репликации)
FReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Используется для хранения значений свойств:
TClass.ReplicationStatus (Статус репликации)
TObject.ReplicationStatus (Статус репликации)
TView.ShownClassReplicationStatus (Статус репликации класса)
.

См. также
  • Класс TClass (Классы)
  • Свойство TClass.ReplicationStatus (Статус репликации)
  • Свойство TObject.ReplicationStatus (Статус репликации)
  • Свойство TView.ShownClassReplicationStatus (Статус репликации класса)


Поле TClass.FSecurityModel (Модель безопасности)

(одним файлом)
Поле TClass.FSecurityModel (Модель безопасности)
FSecurityModel: TSecurityModel (Модели безопасности) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.SecurityModel (Модель безопасности)
.

См. также
  • Класс TClass (Классы)
  • Свойство TClass.SecurityModel (Модель безопасности)


Поле TClass.FUnNamed (Неименованный)

(одним файлом)
Поле TClass.FUnNamed (Неименованный)
FUnNamed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.UnNamed (Неименованный)
.

См. также
  • Класс TClass (Классы)
  • Свойство TClass.UnNamed (Неименованный)


Процедура TClass.GenerateConstructor (Сгенерировать текст конструктора)

(одним файлом)
Процедура TClass.GenerateConstructor (Сгенерировать текст конструктора)

См. также
  • Класс TClass (Классы)


Свойство TClass.DescriptionExpression (Выражение наименования объекта)

(одним файлом)
Свойство TClass.DescriptionExpression (Выражение наименования объекта)
DescriptionExpression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TClass.FDescriptionExpression (Выражение наименования объекта) .

См. также
  • Класс TClass (Классы)


Свойство TClass.IsHierarhical (Является иерархическим)

(одним файлом)
Свойство TClass.IsHierarhical (Является иерархическим)
IsHierarhical: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TClass.FIsHierarhical (Является иерархическим) .

См. также
  • Класс TClass (Классы)


Свойство TClass.MasterClass (Класс-мастер)

(одним файлом)
Свойство TClass.MasterClass (Класс-мастер)
MasterClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TClass.FMasterClass (Класс-мастер) .

См. также
  • Класс TClass (Классы)


Свойство TClass.NameExpression (Выражение имени объекта)

(одним файлом)
Свойство TClass.NameExpression (Выражение имени объекта)
NameExpression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TClass.FNameExpression (Выражение имени объекта) .

См. также
  • Класс TClass (Классы)


Свойство TClass.ReplicationStatus (Статус репликации)

(одним файлом)
Свойство TClass.ReplicationStatus (Статус репликации)
ReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

См. также
  • Класс TClass (Классы)


Свойство TClass.SecurityModel (Модель безопасности)

(одним файлом)
Свойство TClass.SecurityModel (Модель безопасности)
SecurityModel: TSecurityModel (Модели безопасности) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FSecurityModel (Модель безопасности) .

См. также
  • Класс TClass (Классы)


Свойство TClass.UnNamed (Неименованный)

(одним файлом)
Свойство TClass.UnNamed (Неименованный)
UnNamed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FUnNamed (Неименованный) .

См. также
  • Класс TClass (Классы)


Функция TClass.ListProperties (Список видимых свойств)

(одним файлом)
Функция TClass.ListProperties (Список видимых свойств)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

Возвращает значение типа TList domain (Список объектов) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

См. также
  • Класс TClass (Классы)


Функция TClass.ListRoutines (Список видимых подпрограмм)

(одним файлом)
Функция TClass.ListRoutines (Список видимых подпрограмм)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

Возвращает значение типа TList domain (Список объектов) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

См. также
  • Класс TClass (Классы)


Шаблон отчета XSLT TClass.ClassesDiagram (Диаграмма классов)

(одним файлом)
Шаблон отчета XSLT TClass.ClassesDiagram (Диаграмма классов)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ShowFields (Показывать поля) | Boolean (Обычное логическое) |  | Доступен |
ShowMethods (Показывать методы) | Boolean (Обычное логическое) |  | Доступен |
ShowProperties (Показывать свойства) | Boolean (Обычное логическое) |  | Доступен |
ShowParameters (Показывать параметры) | Boolean (Обычное логическое) |  | Доступен |
ShowMetadata (Показывать метаданные) | Boolean (Обычное логическое) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ShowFields (Показывать поля) | Boolean (Обычное логическое) |  | Доступен |
ShowMethods (Показывать методы) | Boolean (Обычное логическое) |  | Доступен |
ShowProperties (Показывать свойства) | Boolean (Обычное логическое) |  | Доступен |
ShowParameters (Показывать параметры) | Boolean (Обычное логическое) |  | Доступен |
ShowMetadata (Показывать метаданные) | Boolean (Обычное логическое) |  | Доступен |

См. также
  • Класс TClass (Классы)


Класс TClassBan (Запрет на класс)

(раздел целиком) (одним файлом)
Класс TClassBan (Запрет на класс)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

  • Конструктор TClassBan.Create (Конструктор запрета на класс)
  • Поле TClassBan.FBannedClass (Запрещенный класс)
  • Свойство TClassBan.BannedClass (Запрещаемый класс)


Конструктор TClassBan.Create (Конструктор запрета на класс)

(одним файлом)
Конструктор TClassBan.Create (Конструктор запрета на класс)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |

Конструирует объект класса TClassBan (Запрет на класс) .

См. также
  • Класс TClassBan (Запрет на класс)


Поле TClassBan.FBannedClass (Запрещенный класс)

(одним файлом)
Поле TClassBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TClassBan.BannedClass (Запрещаемый класс)
.

См. также
  • Класс TClassBan (Запрет на класс)
  • Свойство TClassBan.BannedClass (Запрещаемый класс)


Свойство TClassBan.BannedClass (Запрещаемый класс)

(одним файлом)
Свойство TClassBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TClassBan.FBannedClass (Запрещенный класс) .

См. также
  • Класс TClassBan (Запрет на класс)


Класс TClassDomain (Ссылки на объекты)

(раздел целиком) (одним файлом)
Класс TClassDomain (Ссылки на объекты)
Унаследован от класса TDomain (Домены) .

  • Конструктор TClassDomain.Create (Конструктор домена-ссылки)
  • Поле TClassDomain.FClass (Класс)
  • Поле TClassDomain.FDeleteRule (Правило удаления)
  • Поле TClassDomain.FFilterCondition (Условие отбора)
  • Поле TClassDomain.FShowObjectInfoType (Тип представления объектов)
  • Поле TClassDomain.FView (Представление)
  • Свойство TClassDomain.ClassOfDomain (Класс домена)
  • Свойство TClassDomain.ClassReplicationStatus (Статус репликации класса)
  • Свойство TClassDomain.DeleteRule (Правило удаления)
  • Свойство TClassDomain.FilterCondition (Условие отбора)
  • Свойство TClassDomain.ShowObjectInfoType (Тип представления объектов)
  • Свойство TClassDomain.View (Представление)


Конструктор TClassDomain.Create (Конструктор домена-ссылки)

(одним файлом)
Конструктор TClassDomain.Create (Конструктор домена-ссылки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
ClassOfDomain (Класс домена) | TClass required domain (Класс (обязательно)) |  | Доступен |
View (Представление для выбора) | TView of ClassDomain domain (Представление) |  | Доступен |
FilterCondition (Условие отбора) | TFilterCondition (Условие отбора) |  | Доступен |
ShowObjectInfoType (Тип представления объектов) | TShowObjectInfoType (Тип представления объектов) |  | Доступен |
DeleteRule (Правило удаления) | TDeleteRule (Правило удаления) |  | Доступен |

Конструирует объект класса TClassDomain (Ссылки на объекты) .

См. также
  • Класс TClassDomain (Ссылки на объекты)


Поле TClassDomain.FClass (Класс)

(одним файлом)
Поле TClassDomain.FClass (Класс)
FClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.ClassOfDomain (Класс домена)
.

См. также
  • Класс TClassDomain (Ссылки на объекты)
  • Свойство TClassDomain.ClassOfDomain (Класс домена)


Поле TClassDomain.FDeleteRule (Правило удаления)

(одним файлом)
Поле TClassDomain.FDeleteRule (Правило удаления)
FDeleteRule: TDeleteRule (Правило удаления) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.DeleteRule (Правило удаления)
.

См. также
  • Класс TClassDomain (Ссылки на объекты)
  • Свойство TClassDomain.DeleteRule (Правило удаления)


Поле TClassDomain.FFilterCondition (Условие отбора)

(одним файлом)
Поле TClassDomain.FFilterCondition (Условие отбора)
FFilterCondition: TFilterCondition (Условие отбора) .

Используется для хранения значений свойства TClassDomain.FilterCondition (Условие отбора)
.

См. также
  • Класс TClassDomain (Ссылки на объекты)
  • Свойство TClassDomain.FilterCondition (Условие отбора)


Поле TClassDomain.FShowObjectInfoType (Тип представления объектов)

(одним файлом)
Поле TClassDomain.FShowObjectInfoType (Тип представления объектов)
FShowObjectInfoType: TShowObjectInfoType (Тип представления объектов) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.ShowObjectInfoType (Тип представления объектов)
.

См. также
  • Класс TClassDomain (Ссылки на объекты)
  • Свойство TClassDomain.ShowObjectInfoType (Тип представления объектов)


Поле TClassDomain.FView (Представление)

(одним файлом)
Поле TClassDomain.FView (Представление)
FView: TView of ClassDomain domain (Представление) .

Используется для хранения значений свойства TClassDomain.View (Представление)
.

См. также
  • Класс TClassDomain (Ссылки на объекты)
  • Свойство TClassDomain.View (Представление)


Свойство TClassDomain.ClassOfDomain (Класс домена)

(одним файлом)
Свойство TClassDomain.ClassOfDomain (Класс домена)
ClassOfDomain: TClass domain (Класс) .

Для чтения и записи свойства используется поле TClassDomain.FClass (Класс) .

См. также
  • Класс TClassDomain (Ссылки на объекты)


Свойство TClassDomain.ClassReplicationStatus (Статус репликации класса)

(одним файлом)
Свойство TClassDomain.ClassReplicationStatus (Статус репликации класса)

Этот раздел еще предстоит написать.


Свойство TClassDomain.DeleteRule (Правило удаления)

(одним файлом)
Свойство TClassDomain.DeleteRule (Правило удаления)
DeleteRule: TDeleteRule (Правило удаления) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClassDomain.FDeleteRule (Правило удаления) .

См. также
  • Класс TClassDomain (Ссылки на объекты)


Свойство TClassDomain.FilterCondition (Условие отбора)

(одним файлом)
Свойство TClassDomain.FilterCondition (Условие отбора)
FilterCondition: TFilterCondition (Условие отбора) .

Для чтения и записи свойства используется поле TClassDomain.FFilterCondition (Условие отбора) .

См. также
  • Класс TClassDomain (Ссылки на объекты)


Свойство TClassDomain.ShowObjectInfoType (Тип представления объектов)

(одним файлом)
Свойство TClassDomain.ShowObjectInfoType (Тип представления объектов)
ShowObjectInfoType: TShowObjectInfoType (Тип представления объектов) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClassDomain.FShowObjectInfoType (Тип представления объектов) .

См. также
  • Класс TClassDomain (Ссылки на объекты)


Свойство TClassDomain.View (Представление)

(одним файлом)
Свойство TClassDomain.View (Представление)
View: TView of ClassDomain domain (Представление) .

Для чтения и записи свойства используется поле TClassDomain.FView (Представление) .

См. также
  • Класс TClassDomain (Ссылки на объекты)


Класс TClassMember (Члены класса)

(одним файлом)
Класс TClassMember (Члены класса)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TClass (Классы) .


Класс TCommandButton (Командные кнопки)

(раздел целиком) (одним файлом)
Класс TCommandButton (Командные кнопки)
  • Конструктор TCommandButton.Create (Конструктор командной кнопки)
  • Поле TCommandButton.FGroup (Заголовок группы)
  • Поле TCommandButton.FParameter (Связанный параметр)
  • Поле TCommandButton.FPosition (Позиция)
  • Поле TCommandButton.FScript (Скрипт)
  • Поле TCommandButton.FTab (Заголовок закладки)
  • Свойство TCommandButton.Group (Заголовок группы)
  • Свойство TCommandButton.Parameter (Связанный параметр)
  • Свойство TCommandButton.Position (Позиция)
  • Свойство TCommandButton.Script (Скрипт)
  • Свойство TCommandButton.Tab (Заголовок закладки)
  • Функция TCommandButton.GetNextPos (Следующая позиция)


Конструктор TCommandButton.Create (Конструктор командной кнопки)

(одним файлом)
Конструктор TCommandButton.Create (Конструктор командной кнопки)

Этот раздел еще предстоит написать.


Поле TCommandButton.FGroup (Заголовок группы)

(одним файлом)
Поле TCommandButton.FGroup (Заголовок группы)

Этот раздел еще предстоит написать.


Поле TCommandButton.FParameter (Связанный параметр)

(одним файлом)
Поле TCommandButton.FParameter (Связанный параметр)

Этот раздел еще предстоит написать.


Поле TCommandButton.FPosition (Позиция)

(одним файлом)
Поле TCommandButton.FPosition (Позиция)

Этот раздел еще предстоит написать.


Поле TCommandButton.FScript (Скрипт)

(одним файлом)
Поле TCommandButton.FScript (Скрипт)

Этот раздел еще предстоит написать.


Поле TCommandButton.FTab (Заголовок закладки)

(одним файлом)
Поле TCommandButton.FTab (Заголовок закладки)

Этот раздел еще предстоит написать.


Свойство TCommandButton.Group (Заголовок группы)

(одним файлом)
Свойство TCommandButton.Group (Заголовок группы)

Этот раздел еще предстоит написать.


Свойство TCommandButton.Parameter (Связанный параметр)

(одним файлом)
Свойство TCommandButton.Parameter (Связанный параметр)

Этот раздел еще предстоит написать.


Свойство TCommandButton.Position (Позиция)

(одним файлом)
Свойство TCommandButton.Position (Позиция)

Этот раздел еще предстоит написать.


Свойство TCommandButton.Script (Скрипт)

(одним файлом)
Свойство TCommandButton.Script (Скрипт)

Этот раздел еще предстоит написать.


Свойство TCommandButton.Tab (Заголовок закладки)

(одним файлом)
Свойство TCommandButton.Tab (Заголовок закладки)

Этот раздел еще предстоит написать.


Функция TCommandButton.GetNextPos (Следующая позиция)

(одним файлом)
Функция TCommandButton.GetNextPos (Следующая позиция)

Этот раздел еще предстоит написать.


Класс TDataBase (Базы данных)

(раздел целиком) (одним файлом)
Класс TDataBase (Базы данных)
Унаследован от класса TObject (Объекты) .

  • Конструктор TDataBase.Create (Конструктор базы данных)
  • Поле TDataBase.FGUID (Идентификатор)
  • Поле TDataBase.FIsCurrent (Является текущей)
  • Поле TDataBase.FProtected (Защищена)
  • Свойство TDataBase.GUID (Идентификатор)
  • Свойство TDataBase.IsCurrent (Является текущей)
  • Свойство TDataBase.Protected (Защищена от изменений)


Конструктор TDataBase.Create (Конструктор базы данных)

(одним файлом)
Конструктор TDataBase.Create (Конструктор базы данных)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
GUID (GUID) | TGUID (Уникальные идентификаторы) |  | Доступен |
Protected (Защищена) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TDataBase (Базы данных) .

См. также
  • Класс TDataBase (Базы данных)


Поле TDataBase.FGUID (Идентификатор)

(одним файлом)
Поле TDataBase.FGUID (Идентификатор)
FGUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDataBase.GUID (Идентификатор)
TObject.SourceDataBaseGUID (GUID базы даных-источника)
.

См. также
  • Класс TDataBase (Базы данных)
  • Свойство TDataBase.GUID (Идентификатор)
  • Свойство TObject.SourceDataBaseGUID (GUID базы даных-источника)


Поле TDataBase.FIsCurrent (Является текущей)

(одним файлом)
Поле TDataBase.FIsCurrent (Является текущей)
FIsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDataBase.IsCurrent (Является текущей)
TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
.

См. также
  • Класс TDataBase (Базы данных)
  • Свойство TDataBase.IsCurrent (Является текущей)
  • Свойство TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)


Поле TDataBase.FProtected (Защищена)

(одним файлом)
Поле TDataBase.FProtected (Защищена)
FProtected: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TDataBase.Protected (Защищена от изменений)
.

См. также
  • Класс TDataBase (Базы данных)
  • Свойство TDataBase.Protected (Защищена от изменений)


Свойство TDataBase.GUID (Идентификатор)

(одним файлом)
Свойство TDataBase.GUID (Идентификатор)
GUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FGUID (Идентификатор) .

См. также
  • Класс TDataBase (Базы данных)


Свойство TDataBase.IsCurrent (Является текущей)

(одним файлом)
Свойство TDataBase.IsCurrent (Является текущей)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FIsCurrent (Является текущей) .

См. также
  • Класс TDataBase (Базы данных)


Свойство TDataBase.Protected (Защищена от изменений)

(одним файлом)
Свойство TDataBase.Protected (Защищена от изменений)
Protected: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDataBase.FProtected (Защищена) .

См. также
  • Класс TDataBase (Базы данных)


Класс TDateDomain (Даты)

(раздел целиком) (одним файлом)
Класс TDateDomain (Даты)
Унаследован от класса TDomain (Домены) .

  • Конструктор TDateDomain.Create (Конструктор домена даты)


Конструктор TDateDomain.Create (Конструктор домена даты)

(одним файлом)
Конструктор TDateDomain.Create (Конструктор домена даты)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TDateDomain (Даты) .

См. также
  • Класс TDateDomain (Даты)


Класс TDateTimeDomain (Даты со временем)

(раздел целиком) (одним файлом)
Класс TDateTimeDomain (Даты со временем)
Унаследован от класса TDomain (Домены) .

  • Конструктор TDateTimeDomain.Create (Конструктор домена даты со временем)


Конструктор TDateTimeDomain.Create (Конструктор домена даты со временем)

(одним файлом)
Конструктор TDateTimeDomain.Create (Конструктор домена даты со временем)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TDateTimeDomain (Даты со временем) .

См. также
  • Класс TDateTimeDomain (Даты со временем)


Класс TDomain (Домены)

(раздел целиком) (одним файлом)
Класс TDomain (Домены)
Унаследован от класса TObject (Объекты) .

  • Встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей)
  • Конструктор TDomain.Create (Конструктор домена)
  • Поле TDomain.FRequired (Обязательно для заполнения)
  • Свойство TDomain.DependencyCount (Количество зависимостей)
  • Свойство TDomain.Required (Обязательно для заполнения)


Встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей)

(одним файлом)
Встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей)
GetDependencyCount: Integer (Целое) .

Текст выражения:

count(TField with Domain = Self) +
count(TProperty with Domain = Self) +
count(TRoutine with Domain = Self) +
count(TParameter with Domain = Self) +
count(TOption with Domain = Self)

Используется для вычисления значений свойства TDomain.DependencyCount (Количество зависимостей)
.

См. также
  • Класс TDomain (Домены)
  • Свойство TDomain.DependencyCount (Количество зависимостей)


Конструктор TDomain.Create (Конструктор домена)

(одним файлом)
Конструктор TDomain.Create (Конструктор домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TDomain (Домены) .

См. также
  • Класс TDomain (Домены)


Поле TDomain.FRequired (Обязательно для заполнения)

(одним файлом)
Поле TDomain.FRequired (Обязательно для заполнения)
FRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDomain.Required (Обязательно для заполнения)
TField.DomainRequired (Обязательно для заполнения)
TInlineExpression.DomainRequired (Обязательно для заполнения)
TProperty.DomainRequired (Обязательно для заполнения)
TParameter.DomainRequired (Обязательно для заполнения)
TOption.DomainRequired (Обязательно для заполнения)
.

См. также
  • Класс TDomain (Домены)
  • Свойство TDomain.Required (Обязательно для заполнения)
  • Свойство TField.DomainRequired (Обязательно для заполнения)
  • Свойство TInlineExpression.DomainRequired (Обязательно для заполнения)
  • Свойство TProperty.DomainRequired (Обязательно для заполнения)
  • Свойство TParameter.DomainRequired (Обязательно для заполнения)
  • Свойство TOption.DomainRequired (Обязательно для заполнения)


Свойство TDomain.DependencyCount (Количество зависимостей)

(одним файлом)
Свойство TDomain.DependencyCount (Количество зависимостей)
DependencyCount: Integer (Целое) . Вычисление свойства отложено.

Для чтения значения свойства используется встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей) .

См. также
  • Класс TDomain (Домены)


Свойство TDomain.Required (Обязательно для заполнения)

(одним файлом)
Свойство TDomain.Required (Обязательно для заполнения)
Required: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

См. также
  • Класс TDomain (Домены)


Класс TEnumerationDomain (Перечисления)

(раздел целиком) (одним файлом)
Класс TEnumerationDomain (Перечисления)
Унаследован от класса TDomain (Домены) . Объекты могут включать в себя объекты классов:
  • TEnumerationItem (Элементы перечислений)

  • Конструктор TEnumerationDomain.Create (Конструктор перечисления)
  • Поле TEnumerationDomain.FShowNames (Показывать имена)
  • Свойство TEnumerationDomain.ShowNames (Показывать имена)


Конструктор TEnumerationDomain.Create (Конструктор перечисления)

(одним файлом)
Конструктор TEnumerationDomain.Create (Конструктор перечисления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
ShowNames (Показывать имена элементов) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TEnumerationDomain (Перечисления) .

См. также
  • Класс TEnumerationDomain (Перечисления)


Поле TEnumerationDomain.FShowNames (Показывать имена)

(одним файлом)
Поле TEnumerationDomain.FShowNames (Показывать имена)
FShowNames: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TEnumerationDomain.ShowNames (Показывать имена)
.

См. также
  • Класс TEnumerationDomain (Перечисления)
  • Свойство TEnumerationDomain.ShowNames (Показывать имена)


Свойство TEnumerationDomain.ShowNames (Показывать имена)

(одним файлом)
Свойство TEnumerationDomain.ShowNames (Показывать имена)
ShowNames: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TEnumerationDomain.FShowNames (Показывать имена) .

См. также
  • Класс TEnumerationDomain (Перечисления)


Класс TEnumerationItem (Элементы перечислений)

(раздел целиком) (одним файлом)
Класс TEnumerationItem (Элементы перечислений)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TEnumerationDomain (Перечисления) .

  • Конструктор TEnumerationItem.Create (Конструктор элемента перечисления)
  • Поле TEnumerationItem.FPosition (Позиция)
  • Свойство TEnumerationItem.Position (Позиция)
  • Функция TEnumerationItem.GetNextPos (Следующая позиция)


Конструктор TEnumerationItem.Create (Конструктор элемента перечисления)

(одним файлом)
Конструктор TEnumerationItem.Create (Конструктор элемента перечисления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)

Конструирует объект класса TEnumerationItem (Элементы перечислений) .

См. также
  • Класс TEnumerationItem (Элементы перечислений)


Поле TEnumerationItem.FPosition (Позиция)

(одним файлом)
Поле TEnumerationItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TEnumerationItem.Position (Позиция)
.

См. также
  • Класс TEnumerationItem (Элементы перечислений)
  • Свойство TEnumerationItem.Position (Позиция)


Свойство TEnumerationItem.Position (Позиция)

(одним файлом)
Свойство TEnumerationItem.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TEnumerationItem.FPosition (Позиция) .

См. также
  • Класс TEnumerationItem (Элементы перечислений)


Функция TEnumerationItem.GetNextPos (Следующая позиция)

(одним файлом)
Функция TEnumerationItem.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TEnumerationItem.Create (Конструктор элемента перечисления)
.

См. также
  • Класс TEnumerationItem (Элементы перечислений)


Класс TExcelTemplate (Шаблоны отчетов Excel)

(раздел целиком) (одним файлом)
Класс TExcelTemplate (Шаблоны отчетов Excel)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

  • Конструктор TExcelTemplate.Create (Конструктор шаблона Excel)
  • Поле TExcelTemplate.FMacroName (Имя макроса)
  • Поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных)
  • Поле TExcelTemplate.FTemplateData (Данные шаблона)
  • Свойство TExcelTemplate.MacroName (Имя макроса)
  • Свойство TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)
  • Свойство TExcelTemplate.TemplateData (Данные шаблона)


Конструктор TExcelTemplate.Create (Конструктор шаблона Excel)

(одним файлом)
Конструктор TExcelTemplate.Create (Конструктор шаблона Excel)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TExcelTemplateData (Данные Excel-шаблона) |  | Доступен |
PlaceDataOnSheet (Лист для переноса данных) | TExcelSheetKind (Тип листа Excel) |  | Доступен |
MacroName (Имя макроса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TExcelTemplate (Шаблоны отчетов Excel) .

См. также
  • Класс TExcelTemplate (Шаблоны отчетов Excel)


Поле TExcelTemplate.FMacroName (Имя макроса)

(одним файлом)
Поле TExcelTemplate.FMacroName (Имя макроса)
FMacroName: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TExcelTemplate.MacroName (Имя макроса)
.

См. также
  • Класс TExcelTemplate (Шаблоны отчетов Excel)
  • Свойство TExcelTemplate.MacroName (Имя макроса)


Поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных)

(одним файлом)
Поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных)
FPlaceDataOnSheet: TExcelSheetKind (Тип листа Excel) (обязательно для заполнения) .

Используется для хранения значений свойства TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)
.

См. также
  • Класс TExcelTemplate (Шаблоны отчетов Excel)
  • Свойство TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)


Поле TExcelTemplate.FTemplateData (Данные шаблона)

(одним файлом)
Поле TExcelTemplate.FTemplateData (Данные шаблона)
FTemplateData: TExcelTemplateData (Данные Excel-шаблона) .

Используется для хранения значений свойства TExcelTemplate.TemplateData (Данные шаблона)
.

См. также
  • Класс TExcelTemplate (Шаблоны отчетов Excel)
  • Свойство TExcelTemplate.TemplateData (Данные шаблона)


Свойство TExcelTemplate.MacroName (Имя макроса)

(одним файлом)
Свойство TExcelTemplate.MacroName (Имя макроса)
MacroName: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TExcelTemplate.FMacroName (Имя макроса) .

См. также
  • Класс TExcelTemplate (Шаблоны отчетов Excel)


Свойство TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)

(одним файлом)
Свойство TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)
PlaceDataOnSheet: TExcelSheetKind (Тип листа Excel) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных) .

См. также
  • Класс TExcelTemplate (Шаблоны отчетов Excel)


Свойство TExcelTemplate.TemplateData (Данные шаблона)

(одним файлом)
Свойство TExcelTemplate.TemplateData (Данные шаблона)
TemplateData: TExcelTemplateData (Данные Excel-шаблона) .

Для чтения и записи свойства используется поле TExcelTemplate.FTemplateData (Данные шаблона) .

См. также
  • Класс TExcelTemplate (Шаблоны отчетов Excel)


Класс TField (Поля)

(раздел целиком) (одним файлом)
Класс TField (Поля)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) .

  • Конструктор TField.Create (Конструктор поля)
  • Поле TField.FDomain (Домен)
  • Свойство TField.Domain (Домен)
  • Свойство TField.DomainClass (Класс домена)
  • Свойство TField.DomainRequired (Обязательно для заполнения)


Конструктор TField.Create (Конструктор поля)

(одним файлом)
Конструктор TField.Create (Конструктор поля)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
CreateProperty (Создать свойство) | Boolean (Обычное логическое) |  | Доступен |
CreateConstructorParameter (Создать параметр конструктора) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TField (Поля) .

См. также
  • Класс TField (Поля)


Поле TField.FDomain (Домен)

(одним файлом)
Поле TField.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TField.Domain (Домен)
.

См. также
  • Класс TField (Поля)
  • Свойство TField.Domain (Домен)


Свойство TField.Domain (Домен)

(одним файлом)
Свойство TField.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TField.FDomain (Домен) .

См. также
  • Класс TField (Поля)


Свойство TField.DomainClass (Класс домена)

(одним файлом)
Свойство TField.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

См. также
  • Класс TField (Поля)


Свойство TField.DomainRequired (Обязательно для заполнения)

(одним файлом)
Свойство TField.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

См. также
  • Класс TField (Поля)


Класс TFileNameDomain (Имена файлов)

(раздел целиком) (одним файлом)
Класс TFileNameDomain (Имена файлов)
Унаследован от класса TStringDomain (Строковые) .

  • Конструктор TFileNameDomain.Create (Конструктор имени файла)
  • Поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию)
  • Поле TFileNameDomain.FFileMustExist (Файл должен существовать)
  • Поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи)
  • Процедура TFileNameDomain.Change (Изменение объекта)
  • Свойство TFileNameDomain.DefaultExtension (Расширение по умолчанию)
  • Свойство TFileNameDomain.FileMustExist (Файл должен существовать)
  • Свойство TFileNameDomain.OverwritePrompt (Запрос перезаписи)


Конструктор TFileNameDomain.Create (Конструктор имени файла)

(одним файлом)
Конструктор TFileNameDomain.Create (Конструктор имени файла)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) | Унаследован | Доступен |
FileMustExist (Файл должен существовать) | Boolean (Обычное логическое) |  | Доступен |
DefaultExtension (Расширение по умолчанию) | TFileExtension (Расширение имени файла) |  | Доступен |
OverwritePrompt (Запрос перезаписи) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TFileNameDomain (Имена файлов) .

См. также
  • Класс TFileNameDomain (Имена файлов)


Поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию)

(одним файлом)
Поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию)
FDefaultExtension: TFileExtension (Расширение имени файла) .

Используется для хранения значений свойства TFileNameDomain.DefaultExtension (Расширение по умолчанию)
.

См. также
  • Класс TFileNameDomain (Имена файлов)
  • Свойство TFileNameDomain.DefaultExtension (Расширение по умолчанию)


Поле TFileNameDomain.FFileMustExist (Файл должен существовать)

(одним файлом)
Поле TFileNameDomain.FFileMustExist (Файл должен существовать)
FFileMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFileNameDomain.FileMustExist (Файл должен существовать)
.

См. также
  • Класс TFileNameDomain (Имена файлов)
  • Свойство TFileNameDomain.FileMustExist (Файл должен существовать)


Поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи)

(одним файлом)
Поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи)
FOverwritePrompt: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFileNameDomain.OverwritePrompt (Запрос перезаписи)
.

См. также
  • Класс TFileNameDomain (Имена файлов)
  • Свойство TFileNameDomain.OverwritePrompt (Запрос перезаписи)


Процедура TFileNameDomain.Change (Изменение объекта)

(одним файлом)
Процедура TFileNameDomain.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

См. также
  • Класс TFileNameDomain (Имена файлов)


Свойство TFileNameDomain.DefaultExtension (Расширение по умолчанию)

(одним файлом)
Свойство TFileNameDomain.DefaultExtension (Расширение по умолчанию)
DefaultExtension: TFileExtension (Расширение имени файла) .

Для чтения и записи свойства используется поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию) .

См. также
  • Класс TFileNameDomain (Имена файлов)


Свойство TFileNameDomain.FileMustExist (Файл должен существовать)

(одним файлом)
Свойство TFileNameDomain.FileMustExist (Файл должен существовать)
FileMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFileNameDomain.FFileMustExist (Файл должен существовать) .

См. также
  • Класс TFileNameDomain (Имена файлов)


Свойство TFileNameDomain.OverwritePrompt (Запрос перезаписи)

(одним файлом)
Свойство TFileNameDomain.OverwritePrompt (Запрос перезаписи)
OverwritePrompt: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи) .

См. также
  • Класс TFileNameDomain (Имена файлов)


Класс TFloatDomain (Вещественные числа)

(раздел целиком) (одним файлом)
Класс TFloatDomain (Вещественные числа)
Унаследован от класса TDomain (Домены) .

  • Конструктор TFloatDomain.Create (Конструктор вещественного домена)
  • Поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой)
  • Поле TFloatDomain.FLength (Максимальная длина)
  • Поле TFloatDomain.FMaxValue (Максимальное значение)
  • Поле TFloatDomain.FMinValue (Минимальное значение)
  • Свойство TFloatDomain.DecimalPlaces (Количество десятичных знаков)
  • Свойство TFloatDomain.Length (Длина)
  • Свойство TFloatDomain.MaxValue (Максимальное значение)
  • Свойство TFloatDomain.MinValue (Минимальное значение)


Конструктор TFloatDomain.Create (Конструктор вещественного домена)

(одним файлом)
Конструктор TFloatDomain.Create (Конструктор вещественного домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Длина) | TPrescision (Точность) |  | Доступен |
DecimalPlaces (Количество десятичных знаков) | TPrescision (Точность) |  | Доступен |
MinValue (Минимальное значение) | Float (Вещественное) |  | Доступен |
MaxValue (Максимальное значение) | Float (Вещественное) |  | Доступен |

Конструирует объект класса TFloatDomain (Вещественные числа) .

См. также
  • Класс TFloatDomain (Вещественные числа)


Поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой)

(одним файлом)
Поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой)
FDecimalPlaces: TPrescision (Точность) .

Используется для хранения значений свойства TFloatDomain.DecimalPlaces (Количество десятичных знаков)
.

См. также
  • Класс TFloatDomain (Вещественные числа)
  • Свойство TFloatDomain.DecimalPlaces (Количество десятичных знаков)


Поле TFloatDomain.FLength (Максимальная длина)

(одним файлом)
Поле TFloatDomain.FLength (Максимальная длина)
FLength: TPrescision (Точность) .

Используется для хранения значений свойства TFloatDomain.Length (Длина)
.

См. также
  • Класс TFloatDomain (Вещественные числа)
  • Свойство TFloatDomain.Length (Длина)


Поле TFloatDomain.FMaxValue (Максимальное значение)

(одним файлом)
Поле TFloatDomain.FMaxValue (Максимальное значение)
FMaxValue: Float (Вещественное) .

Используется для хранения значений свойства TFloatDomain.MaxValue (Максимальное значение)
.

См. также
  • Класс TFloatDomain (Вещественные числа)
  • Свойство TFloatDomain.MaxValue (Максимальное значение)


Поле TFloatDomain.FMinValue (Минимальное значение)

(одним файлом)
Поле TFloatDomain.FMinValue (Минимальное значение)
FMinValue: Float (Вещественное) .

Используется для хранения значений свойства TFloatDomain.MinValue (Минимальное значение)
.

См. также
  • Класс TFloatDomain (Вещественные числа)
  • Свойство TFloatDomain.MinValue (Минимальное значение)


Свойство TFloatDomain.DecimalPlaces (Количество десятичных знаков)

(одним файлом)
Свойство TFloatDomain.DecimalPlaces (Количество десятичных знаков)
DecimalPlaces: TPrescision (Точность) .

Для чтения и записи свойства используется поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой) .

См. также
  • Класс TFloatDomain (Вещественные числа)


Свойство TFloatDomain.Length (Длина)

(одним файлом)
Свойство TFloatDomain.Length (Длина)
Length: TPrescision (Точность) .

Для чтения и записи свойства используется поле TFloatDomain.FLength (Максимальная длина) .

См. также
  • Класс TFloatDomain (Вещественные числа)


Свойство TFloatDomain.MaxValue (Максимальное значение)

(одним файлом)
Свойство TFloatDomain.MaxValue (Максимальное значение)
MaxValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TFloatDomain.FMaxValue (Максимальное значение) .

См. также
  • Класс TFloatDomain (Вещественные числа)


Свойство TFloatDomain.MinValue (Минимальное значение)

(одним файлом)
Свойство TFloatDomain.MinValue (Минимальное значение)
MinValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TFloatDomain.FMinValue (Минимальное значение) .

См. также
  • Класс TFloatDomain (Вещественные числа)


Класс TFolderNameDomain (Имена папок файловой системы)

(раздел целиком) (одним файлом)
Класс TFolderNameDomain (Имена папок файловой системы)
Унаследован от класса TStringDomain (Строковые) .

  • Конструктор TFolderNameDomain.Create (Конструктор имени папки)
  • Поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать)
  • Процедура TFolderNameDomain.Change (Изменение объекта)
  • Свойство TFolderNameDomain.FolderMustExist (Папка должна существовать)


Конструктор TFolderNameDomain.Create (Конструктор имени папки)

(одним файлом)
Конструктор TFolderNameDomain.Create (Конструктор имени папки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) | Унаследован | Доступен |
FolderMustExist (Папка должна существовать) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TFolderNameDomain (Имена папок файловой системы) .

См. также
  • Класс TFolderNameDomain (Имена папок файловой системы)


Поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать)

(одним файлом)
Поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать)
FFolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFolderNameDomain.FolderMustExist (Папка должна существовать)
.

См. также
  • Класс TFolderNameDomain (Имена папок файловой системы)
  • Свойство TFolderNameDomain.FolderMustExist (Папка должна существовать)


Процедура TFolderNameDomain.Change (Изменение объекта)

(одним файлом)
Процедура TFolderNameDomain.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

См. также
  • Класс TFolderNameDomain (Имена папок файловой системы)


Свойство TFolderNameDomain.FolderMustExist (Папка должна существовать)

(одним файлом)
Свойство TFolderNameDomain.FolderMustExist (Папка должна существовать)
FolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать) .

См. также
  • Класс TFolderNameDomain (Имена папок файловой системы)


Класс TForm (Формы)

(раздел целиком) (одним файлом)
Класс TForm (Формы)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TFormAccess (Доступ к формам)
  • TFormView (Представления формы)

  • Конструктор TForm.Create (Конструктор формы)
  • Поле TForm.FAutoOpen (Открывать автоматически)
  • Поле TForm.FImage (Изображеие-иконка)
  • Поле TForm.FIsAlive (Живая)
  • Поле TForm.FPosition (Позиция)
  • Поле TForm.FScope (Область видимости)
  • Свойство TForm.AutoOpen (Открывать автоматически)
  • Свойство TForm.Image (Изображение-иконка)
  • Свойство TForm.IsAccessible (Доступна)
  • Свойство TForm.IsAlive ("Живая")
  • Свойство TForm.Position (Позиция)
  • Свойство TForm.Scope (Область видимости)
  • Функция TForm.GetIsAccessible (Доступна)
  • Функция TForm.GetNextPos (Следующая позиция)


Конструктор TForm.Create (Конструктор формы)

(одним файлом)
Конструктор TForm.Create (Конструктор формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
AutoOpen (Открывать автоматически) | Boolean (Обычное логическое) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Image (Изображение-иконка) | TImage (Изображение) |  | Доступен |
IsAlive ("Живая") | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TForm (Формы) .

См. также
  • Класс TForm (Формы)


Поле TForm.FAutoOpen (Открывать автоматически)

(одним файлом)
Поле TForm.FAutoOpen (Открывать автоматически)
FAutoOpen: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.AutoOpen (Открывать автоматически)
.

См. также
  • Класс TForm (Формы)
  • Свойство TForm.AutoOpen (Открывать автоматически)


Поле TForm.FImage (Изображеие-иконка)

(одним файлом)
Поле TForm.FImage (Изображеие-иконка)
FImage: TImage (Изображение) .

Используется для хранения значений свойств:
TForm.Image (Изображение-иконка)
TVisualGroupForm.Image (Изображение)
.

См. также
  • Класс TForm (Формы)
  • Свойство TForm.Image (Изображение-иконка)
  • Свойство TVisualGroupForm.Image (Изображение)


Поле TForm.FIsAlive (Живая)

(одним файлом)
Поле TForm.FIsAlive (Живая)
FIsAlive: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.IsAlive ("Живая")
.

См. также
  • Класс TForm (Формы)
  • Свойство TForm.IsAlive ("Живая")


Поле TForm.FPosition (Позиция)

(одним файлом)
Поле TForm.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.Position (Позиция)
.

См. также
  • Класс TForm (Формы)
  • Свойство TForm.Position (Позиция)


Поле TForm.FScope (Область видимости)

(одним файлом)
Поле TForm.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.Scope (Область видимости)
.

См. также
  • Класс TForm (Формы)
  • Свойство TForm.Scope (Область видимости)


Свойство TForm.AutoOpen (Открывать автоматически)

(одним файлом)
Свойство TForm.AutoOpen (Открывать автоматически)
AutoOpen: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FAutoOpen (Открывать автоматически) .

См. также
  • Класс TForm (Формы)


Свойство TForm.Image (Изображение-иконка)

(одним файлом)
Свойство TForm.Image (Изображение-иконка)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TForm.FImage (Изображеие-иконка) .

См. также
  • Класс TForm (Формы)


Свойство TForm.IsAccessible (Доступна)

(одним файлом)
Свойство TForm.IsAccessible (Доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TForm.GetIsAccessible (Доступна) .

См. также
  • Класс TForm (Формы)


Свойство TForm.IsAlive ("Живая")

(одним файлом)
Свойство TForm.IsAlive ("Живая")
IsAlive: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FIsAlive (Живая) .

См. также
  • Класс TForm (Формы)


Свойство TForm.Position (Позиция)

(одним файлом)
Свойство TForm.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FPosition (Позиция) .

См. также
  • Класс TForm (Формы)


Свойство TForm.Scope (Область видимости)

(одним файлом)
Свойство TForm.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FScope (Область видимости) .

См. также
  • Класс TForm (Формы)


Функция TForm.GetIsAccessible (Доступна)

(одним файлом)
Функция TForm.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойств:
TForm.IsAccessible (Доступна)
TInstantMessage.IsAccessible (Форма доступна)
.

См. также
  • Класс TForm (Формы)


Функция TForm.GetNextPos (Следующая позиция)

(одним файлом)
Функция TForm.GetNextPos (Следующая позиция)
Является методом класса.

Возвращает значение типа Integer (Целое) .

Используется для инициализации значения параметра Position (Позиция) подпрограммы TForm.Create (Конструктор формы)
.

См. также
  • Класс TForm (Формы)


Класс TFormAccess (Доступ к формам)

(раздел целиком) (одним файлом)
Класс TFormAccess (Доступ к формам)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TForm (Формы) .

  • Конструктор TFormAccess.Create (Конструктор доступа к форме)


Конструктор TFormAccess.Create (Конструктор доступа к форме)

(одним файлом)
Конструктор TFormAccess.Create (Конструктор доступа к форме)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Форма) | TForm required domain (Форма (обязательно)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TFormAccess (Доступ к формам) .

См. также
  • Класс TFormAccess (Доступ к формам)


Класс TFormView (Представления формы)

(раздел целиком) (одним файлом)
Класс TFormView (Представления формы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TForm (Формы) .

  • Конструктор TFormView.Create (Конструктор представления формы)
  • Поле TFormView.FChildrenMinimized (Дочерние представления минимизированы)
  • Поле TFormView.FChildrenOnTabs (Дочерние представления на закладках)
  • Поле TFormView.FDetailProperty (Свойство-подчиненное)
  • Поле TFormView.FMasterProperty (Свойство-главное)
  • Поле TFormView.FPosition (Позиция)
  • Поле TFormView.FSingleQuery (Единственный запрос)
  • Поле TFormView.FSpacePercentage (Площадь)
  • Поле TFormView.FView (Представление)
  • Свойство TFormView.ChildrenMinimized (Дочерние представления минимизированы)
  • Свойство TFormView.ChildrenOnTabs (Дочерние представления на закладках)
  • Свойство TFormView.Collapsed (Узлы свернуты)
  • Свойство TFormView.ColorProperty (Свойство-цвет)
  • Свойство TFormView.DetailProperty (Свойство-подчиненное)
  • Свойство TFormView.MasterProperty (Свойство-главное)
  • Свойство TFormView.Position (Позиция)
  • Свойство TFormView.ShownClass (Показываемый класс)
  • Свойство TFormView.SingleQuery (Единственный запрос)
  • Свойство TFormView.SpacePercentage (Площадь, %)
  • Свойство TFormView.View (Представление)
  • Функция TFormView.GetNextPos (Следующая позиция)


Конструктор TFormView.Create (Конструктор представления формы)

(одним файлом)
Конструктор TFormView.Create (Конструктор представления формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
View (Представление) | TView of FormView domain (Представление для формы) |  | Доступен |
ChildrenMinimized (Дочерние представления минимизированы) | Boolean (Обычное логическое) |  | Доступен |
ChildrenOnTabs (Дочерние представления на закладках) | Boolean (Обычное логическое) |  | Доступен |
MasterProperty (Свойство-главное) | TMasterProperty domain (Свойство-главное) |  | Доступен |
DetailProperty (Свойство-подчиненное) | TDetailProperty domain (Свойство-подчиненное) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
SpacePercentage (Площадь, %) | Percent (Процент) |  | Доступен |

Конструирует объект класса TFormView (Представления формы) .

См. также
  • Класс TFormView (Представления формы)


Поле TFormView.FChildrenMinimized (Дочерние представления минимизированы)

(одним файлом)
Поле TFormView.FChildrenMinimized (Дочерние представления минимизированы)
FChildrenMinimized: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.ChildrenMinimized (Дочерние представления минимизированы)
.

См. также
  • Класс TFormView (Представления формы)
  • Свойство TFormView.ChildrenMinimized (Дочерние представления минимизированы)


Поле TFormView.FChildrenOnTabs (Дочерние представления на закладках)

(одним файлом)
Поле TFormView.FChildrenOnTabs (Дочерние представления на закладках)
FChildrenOnTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.ChildrenOnTabs (Дочерние представления на закладках)
.

См. также
  • Класс TFormView (Представления формы)
  • Свойство TFormView.ChildrenOnTabs (Дочерние представления на закладках)


Поле TFormView.FDetailProperty (Свойство-подчиненное)

(одним файлом)
Поле TFormView.FDetailProperty (Свойство-подчиненное)
FDetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Используется для хранения значений свойства TFormView.DetailProperty (Свойство-подчиненное)
.

См. также
  • Класс TFormView (Представления формы)
  • Свойство TFormView.DetailProperty (Свойство-подчиненное)


Поле TFormView.FMasterProperty (Свойство-главное)

(одним файлом)
Поле TFormView.FMasterProperty (Свойство-главное)
FMasterProperty: TMasterProperty domain (Свойство-главное) .

Используется для хранения значений свойства TFormView.MasterProperty (Свойство-главное)
.

См. также
  • Класс TFormView (Представления формы)
  • Свойство TFormView.MasterProperty (Свойство-главное)


Поле TFormView.FPosition (Позиция)

(одним файлом)
Поле TFormView.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.Position (Позиция)
.

См. также
  • Класс TFormView (Представления формы)
  • Свойство TFormView.Position (Позиция)


Поле TFormView.FSingleQuery (Единственный запрос)

(одним файлом)
Поле TFormView.FSingleQuery (Единственный запрос)

Этот раздел еще предстоит написать.


Поле TFormView.FSpacePercentage (Площадь)

(одним файлом)
Поле TFormView.FSpacePercentage (Площадь)
FSpacePercentage: Percent (Процент) .

Используется для хранения значений свойства TFormView.SpacePercentage (Площадь, %)
.

См. также
  • Класс TFormView (Представления формы)
  • Свойство TFormView.SpacePercentage (Площадь, %)


Поле TFormView.FView (Представление)

(одним файлом)
Поле TFormView.FView (Представление)
FView: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.View (Представление)
.

См. также
  • Класс TFormView (Представления формы)
  • Свойство TFormView.View (Представление)


Свойство TFormView.ChildrenMinimized (Дочерние представления минимизированы)

(одним файлом)
Свойство TFormView.ChildrenMinimized (Дочерние представления минимизированы)
ChildrenMinimized: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FChildrenMinimized (Дочерние представления минимизированы) .

См. также
  • Класс TFormView (Представления формы)


Свойство TFormView.ChildrenOnTabs (Дочерние представления на закладках)

(одним файлом)
Свойство TFormView.ChildrenOnTabs (Дочерние представления на закладках)
ChildrenOnTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FChildrenOnTabs (Дочерние представления на закладках) .

См. также
  • Класс TFormView (Представления формы)


Свойство TFormView.Collapsed (Узлы свернуты)

(одним файлом)
Свойство TFormView.Collapsed (Узлы свернуты)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FCollapsed (Свернуто) .

Дочернее свойство свойства View (Представление) .

См. также
  • Класс TFormView (Представления формы)


Свойство TFormView.ColorProperty (Свойство-цвет)

(одним файлом)
Свойство TFormView.ColorProperty (Свойство-цвет)
ColorProperty: TColorProperty domain (Домен свойства цвета) .

Для чтения и записи свойства используется поле TView.FColorProperty (Свойство цвета) .

Дочернее свойство свойства View (Представление) .

См. также
  • Класс TFormView (Представления формы)


Свойство TFormView.DetailProperty (Свойство-подчиненное)

(одним файлом)
Свойство TFormView.DetailProperty (Свойство-подчиненное)
DetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Для чтения и записи свойства используется поле TFormView.FDetailProperty (Свойство-подчиненное) .

См. также
  • Класс TFormView (Представления формы)


Свойство TFormView.MasterProperty (Свойство-главное)

(одним файлом)
Свойство TFormView.MasterProperty (Свойство-главное)
MasterProperty: TMasterProperty domain (Свойство-главное) .

Для чтения и записи свойства используется поле TFormView.FMasterProperty (Свойство-главное) .

См. также
  • Класс TFormView (Представления формы)


Свойство TFormView.Position (Позиция)

(одним файлом)
Свойство TFormView.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FPosition (Позиция) .

См. также
  • Класс TFormView (Представления формы)


Свойство TFormView.ShownClass (Показываемый класс)

(одним файлом)
Свойство TFormView.ShownClass (Показываемый класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FShownClass (Класс для показа) .

Дочернее свойство свойства View (Представление) .

См. также
  • Класс TFormView (Представления формы)


Свойство TFormView.SingleQuery (Единственный запрос)

(одним файлом)
Свойство TFormView.SingleQuery (Единственный запрос)

Этот раздел еще предстоит написать.


Свойство TFormView.SpacePercentage (Площадь, %)

(одним файлом)
Свойство TFormView.SpacePercentage (Площадь, %)
SpacePercentage: Percent (Процент) .

Для чтения и записи свойства используется поле TFormView.FSpacePercentage (Площадь) .

См. также
  • Класс TFormView (Представления формы)


Свойство TFormView.View (Представление)

(одним файлом)
Свойство TFormView.View (Представление)
View: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FView (Представление) .

См. также
  • Класс TFormView (Представления формы)


Функция TFormView.GetNextPos (Следующая позиция)

(одним файлом)
Функция TFormView.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)

Используется для инициализации значения параметра Position (Позиция) подпрограммы TFormView.Create (Конструктор представления формы)
.

См. также
  • Класс TFormView (Представления формы)


Класс TInlineExpression (Встраиваемое выражение)

(раздел целиком) (одним файлом)
Класс TInlineExpression (Встраиваемое выражение)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) .

  • Конструктор TInlineExpression.Create (Конструктор встраиваемого выражения)
  • Поле TInlineExpression.FDomain (Домен)
  • Поле TInlineExpression.FExpression (Выражение)
  • Свойство TInlineExpression.Domain (Домен)
  • Свойство TInlineExpression.DomainClass (Класс домена)
  • Свойство TInlineExpression.DomainRequired (Обязательно для заполнения)
  • Свойство TInlineExpression.Expression (Выражение)


Конструктор TInlineExpression.Create (Конструктор встраиваемого выражения)

(одним файлом)
Конструктор TInlineExpression.Create (Конструктор встраиваемого выражения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Expression (Выражение) | TInlineExpressionText (Текст выражения) |  | Доступен |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |

Конструирует объект класса TInlineExpression (Встраиваемое выражение) .

См. также
  • Класс TInlineExpression (Встраиваемое выражение)


Поле TInlineExpression.FDomain (Домен)

(одним файлом)
Поле TInlineExpression.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TInlineExpression.Domain (Домен)
.

См. также
  • Класс TInlineExpression (Встраиваемое выражение)
  • Свойство TInlineExpression.Domain (Домен)


Поле TInlineExpression.FExpression (Выражение)

(одним файлом)
Поле TInlineExpression.FExpression (Выражение)
FExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TInlineExpression.Expression (Выражение)
.

См. также
  • Класс TInlineExpression (Встраиваемое выражение)
  • Свойство TInlineExpression.Expression (Выражение)


Свойство TInlineExpression.Domain (Домен)

(одним файлом)
Свойство TInlineExpression.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInlineExpression.FDomain (Домен) .

См. также
  • Класс TInlineExpression (Встраиваемое выражение)


Свойство TInlineExpression.DomainClass (Класс домена)

(одним файлом)
Свойство TInlineExpression.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

См. также
  • Класс TInlineExpression (Встраиваемое выражение)


Свойство TInlineExpression.DomainRequired (Обязательно для заполнения)

(одним файлом)
Свойство TInlineExpression.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

См. также
  • Класс TInlineExpression (Встраиваемое выражение)


Свойство TInlineExpression.Expression (Выражение)

(одним файлом)
Свойство TInlineExpression.Expression (Выражение)
Expression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TInlineExpression.FExpression (Выражение) .

См. также
  • Класс TInlineExpression (Встраиваемое выражение)


Класс TInstantMessage (Сообщения)

(раздел целиком) (одним файлом)
Класс TInstantMessage (Сообщения)
Унаследован от класса TObject (Объекты) .

  • Конструктор TInstantMessage.Create (Конструктор сообщения)
  • Поле TInstantMessage.FFormView (Представление формы)
  • Поле TInstantMessage.FObject (Объект)
  • Поле TInstantMessage.FUser (Пользователь)
  • Поле TInstantMessage.FViewed (Просмотрено)
  • Свойство TInstantMessage.Form (Форма)
  • Свойство TInstantMessage.FormView (Представление формы)
  • Свойство TInstantMessage.IsAccessible (Форма доступна)
  • Свойство TInstantMessage.IsCurrent (Текущему пользователю)
  • Свойство TInstantMessage.Object (Объект)
  • Свойство TInstantMessage.User (Пользователь)
  • Свойство TInstantMessage.Viewed (Просмотрено)


Конструктор TInstantMessage.Create (Конструктор сообщения)

(одним файлом)
Конструктор TInstantMessage.Create (Конструктор сообщения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
User (Пользователь) | TUser required domain (Пользователь) |  | Доступен |
FormView (Представление формы) | TFormView domain (Представления форм) |  | Доступен |
Object (Объект) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TInstantMessage (Сообщения) .

См. также
  • Класс TInstantMessage (Сообщения)


Поле TInstantMessage.FFormView (Представление формы)

(одним файлом)
Поле TInstantMessage.FFormView (Представление формы)
FFormView: TFormView domain (Представления форм) .

Используется для хранения значений свойства TInstantMessage.FormView (Представление формы)
.

См. также
  • Класс TInstantMessage (Сообщения)
  • Свойство TInstantMessage.FormView (Представление формы)


Поле TInstantMessage.FObject (Объект)

(одним файлом)
Поле TInstantMessage.FObject (Объект)
FObject: TObject domain (Объект) .

Используется для хранения значений свойства TInstantMessage.Object (Объект)
.

См. также
  • Класс TInstantMessage (Сообщения)
  • Свойство TInstantMessage.Object (Объект)


Поле TInstantMessage.FUser (Пользователь)

(одним файлом)
Поле TInstantMessage.FUser (Пользователь)
FUser: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TInstantMessage.User (Пользователь)
.

См. также
  • Класс TInstantMessage (Сообщения)
  • Свойство TInstantMessage.User (Пользователь)


Поле TInstantMessage.FViewed (Просмотрено)

(одним файлом)
Поле TInstantMessage.FViewed (Просмотрено)
FViewed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TInstantMessage.Viewed (Просмотрено)
.

См. также
  • Класс TInstantMessage (Сообщения)
  • Свойство TInstantMessage.Viewed (Просмотрено)


Свойство TInstantMessage.Form (Форма)

(одним файлом)
Свойство TInstantMessage.Form (Форма)
Form: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

Дочернее свойство свойства FormView (Представление формы) .

См. также
  • Класс TInstantMessage (Сообщения)


Свойство TInstantMessage.FormView (Представление формы)

(одним файлом)
Свойство TInstantMessage.FormView (Представление формы)
FormView: TFormView domain (Представления форм) .

Для чтения и записи свойства используется поле TInstantMessage.FFormView (Представление формы) .

См. также
  • Класс TInstantMessage (Сообщения)


Свойство TInstantMessage.IsAccessible (Форма доступна)

(одним файлом)
Свойство TInstantMessage.IsAccessible (Форма доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TForm.GetIsAccessible (Доступна) .

Дочернее свойство свойства Form (Форма) .

См. также
  • Класс TInstantMessage (Сообщения)


Свойство TInstantMessage.IsCurrent (Текущему пользователю)

(одним файлом)
Свойство TInstantMessage.IsCurrent (Текущему пользователю)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

Дочернее свойство свойства User (Пользователь) .

См. также
  • Класс TInstantMessage (Сообщения)


Свойство TInstantMessage.Object (Объект)

(одним файлом)
Свойство TInstantMessage.Object (Объект)
Object: TObject domain (Объект) .

Для чтения и записи свойства используется поле TInstantMessage.FObject (Объект) .

См. также
  • Класс TInstantMessage (Сообщения)


Свойство TInstantMessage.User (Пользователь)

(одним файлом)
Свойство TInstantMessage.User (Пользователь)
User: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInstantMessage.FUser (Пользователь) .

См. также
  • Класс TInstantMessage (Сообщения)


Свойство TInstantMessage.Viewed (Просмотрено)

(одним файлом)
Свойство TInstantMessage.Viewed (Просмотрено)
Viewed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInstantMessage.FViewed (Просмотрено) .

См. также
  • Класс TInstantMessage (Сообщения)


Класс TIntegerDomain (Целые числа)

(раздел целиком) (одним файлом)
Класс TIntegerDomain (Целые числа)
Унаследован от класса TDomain (Домены) .

  • Конструктор TIntegerDomain.Create (Конструктор целочисленного домена)
  • Поле TIntegerDomain.FMaxValue (Максимальное значение)
  • Поле TIntegerDomain.FMinValue (Минимальное значение)
  • Свойство TIntegerDomain.MaxValue (Максимальное значение)
  • Свойство TIntegerDomain.MinValue (Минимальное значение)


Конструктор TIntegerDomain.Create (Конструктор целочисленного домена)

(одним файлом)
Конструктор TIntegerDomain.Create (Конструктор целочисленного домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
MinValue (Минимальное значение) | Integer (Целое) |  | Доступен |
MaxValue (Максимальное значение) | Integer (Целое) |  | Доступен |

Конструирует объект класса TIntegerDomain (Целые числа) .

См. также
  • Класс TIntegerDomain (Целые числа)


Поле TIntegerDomain.FMaxValue (Максимальное значение)

(одним файлом)
Поле TIntegerDomain.FMaxValue (Максимальное значение)
FMaxValue: Integer (Целое) .

Используется для хранения значений свойства TIntegerDomain.MaxValue (Максимальное значение)
.

См. также
  • Класс TIntegerDomain (Целые числа)
  • Свойство TIntegerDomain.MaxValue (Максимальное значение)


Поле TIntegerDomain.FMinValue (Минимальное значение)

(одним файлом)
Поле TIntegerDomain.FMinValue (Минимальное значение)
FMinValue: Integer (Целое) .

Используется для хранения значений свойства TIntegerDomain.MinValue (Минимальное значение)
.

См. также
  • Класс TIntegerDomain (Целые числа)
  • Свойство TIntegerDomain.MinValue (Минимальное значение)


Свойство TIntegerDomain.MaxValue (Максимальное значение)

(одним файлом)
Свойство TIntegerDomain.MaxValue (Максимальное значение)
MaxValue: Integer (Целое) .

Для чтения и записи свойства используется поле TIntegerDomain.FMaxValue (Максимальное значение) .

См. также
  • Класс TIntegerDomain (Целые числа)


Свойство TIntegerDomain.MinValue (Минимальное значение)

(одним файлом)
Свойство TIntegerDomain.MinValue (Минимальное значение)
MinValue: Integer (Целое) .

Для чтения и записи свойства используется поле TIntegerDomain.FMinValue (Минимальное значение) .

См. также
  • Класс TIntegerDomain (Целые числа)


Класс TMethod (Методы)

(раздел целиком) (одним файлом)
Класс TMethod (Методы)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

  • Конструктор TMethod.Create (Конструктор метода)
  • Поле TMethod.FBody (Тело)
  • Свойство TMethod.Body (Тело)
  • Свойство TMethod.CallTemplate (Шаблон вызова)
  • Функция TMethod.CallTemplate (Шаблон вызова)


Конструктор TMethod.Create (Конструктор метода)

(одним файлом)
Конструктор TMethod.Create (Конструктор метода)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
Body (Тело) | TMethodBody (Исходные тексты методов) |  | Доступен |

Конструирует объект класса TMethod (Методы) .

См. также
  • Класс TMethod (Методы)


Поле TMethod.FBody (Тело)

(одним файлом)
Поле TMethod.FBody (Тело)
FBody: TMethodBody (Исходные тексты методов) .

Используется для хранения значений свойства TMethod.Body (Тело)
.

См. также
  • Класс TMethod (Методы)
  • Свойство TMethod.Body (Тело)


Свойство TMethod.Body (Тело)

(одним файлом)
Свойство TMethod.Body (Тело)
Body: TMethodBody (Исходные тексты методов) .

Для чтения и записи свойства используется поле TMethod.FBody (Тело) .

См. также
  • Класс TMethod (Методы)


Свойство TMethod.CallTemplate (Шаблон вызова)

(одним файлом)
Свойство TMethod.CallTemplate (Шаблон вызова)
CallTemplate: TLongString (Длинная строка) . Вычисление свойства отложено.

Для чтения значения свойства используется функция TMethod.CallTemplate (Шаблон вызова) .

См. также
  • Класс TMethod (Методы)


Функция TMethod.CallTemplate (Шаблон вызова)

(одним файлом)
Функция TMethod.CallTemplate (Шаблон вызова)

Возвращает значение типа TLongString (Длинная строка) .

Используется для вычисления значений свойства TMethod.CallTemplate (Шаблон вызова)
.

См. также
  • Класс TMethod (Методы)


Класс TObject (Объекты)

(раздел целиком) (одним файлом)
Класс TObject (Объекты)

  • Конструктор TObject.Create (Конструктор объекта)
  • Поле TObject.FClass (Класс)
  • Поле TObject.FCreated (Создано)
  • Поле TObject.FCreator (Создано пользователем)
  • Поле TObject.FDescription (Наименование)
  • Поле TObject.FMaster (Мастер)
  • Поле TObject.FModified (Изменено)
  • Поле TObject.FModifier (Изменено пользователем)
  • Поле TObject.FName (Имя)
  • Поле TObject.FOldID (Идентификатор при создании)
  • Поле TObject.FParent (Родитель)
  • Поле TObject.FReader (Роль для чтения)
  • Поле TObject.FSourceDataBase (База данных)
  • Поле TObject.FWriter (Роль для записи)
  • Процедура TObject.Change (Изменение объекта)
  • Процедура TObject.Destroy (Деструктор объекта)
  • Процедура TObject.MergeTo (Отождествить с)
  • Процедура TObject.SendMessage (Отправить сообщение)
  • Процедура TObject.Touch (Модификация объекта)
  • Псевдоподпрограмма TObject.Column (Колонка)
  • Псевдоподпрограмма TObject.Copy (Копировать)
  • Псевдоподпрограмма TObject.CurrentFormView (Текущее представление формы)
  • Псевдоподпрограмма TObject.CurrentlySelected (Список выбранных)
  • Псевдоподпрограмма TObject.CurrentlyVisible (Список видимых)
  • Псевдоподпрограмма TObject.Edit columns (Редактировать колонки)
  • Псевдоподпрограмма TObject.Edit properties (Редактировать свойства)
  • Псевдоподпрограмма TObject.Export (Экспортировать)
  • Псевдоподпрограмма TObject.Merge (Объединить)
  • Псевдоподпрограмма TObject.Messages (Сообщения)
  • Псевдоподпрограмма TObject.Options (Настройки)
  • Псевдоподпрограмма TObject.Paste (Вставить)
  • Псевдоподпрограмма TObject.Refresh (Обновить)
  • Псевдоподпрограмма TObject.Selection (Выбранные)
  • Псевдоподпрограмма TObject.Tree (Дерево)
  • Свойство TObject.Class (Класс)
  • Свойство TObject.Created (Создано)
  • Свойство TObject.Creator (Создано пользователем)
  • Свойство TObject.Description (Наименование)
  • Свойство TObject.Master (Мастер)
  • Свойство TObject.Modified (Изменено)
  • Свойство TObject.Modifier (Изменено пользователем)
  • Свойство TObject.Name (Имя)
  • Свойство TObject.OldID (Идентификатор при создании)
  • Свойство TObject.Parent (Родитель)
  • Свойство TObject.Reader (Роль для чтения)
  • Свойство TObject.ReplicationStatus (Статус репликации)
  • Свойство TObject.SourceDataBase (База данных-источник)
  • Свойство TObject.SourceDataBaseGUID (GUID базы даных-источника)
  • Свойство TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
  • Свойство TObject.Writer (Роль для записи)
  • Функция TObject.ASCII (ASCII-код)
  • Функция TObject.Assigned (Проверка пустоты значения)
  • Функция TObject.Char (Символ)
  • Функция TObject.Copy (Копировать)
  • Функция TObject.DatePart (Часть даты)
  • Функция TObject.DateTimePart (Часть даты со временем)
  • Функция TObject.DateTimeToStr (Дату и время в строку)
  • Функция TObject.DateToStr (Дату в строку)
  • Функция TObject.DependsOn (Зависит от)
  • Функция TObject.Find (Поиск объекта)
  • Функция TObject.FloatToStr (Вещественное в строку)
  • Функция TObject.GetLevel (Уровень в иерархии)
  • Функция TObject.GetRoot (Получить корень иерархии)
  • Функция TObject.HasAsChild (Объект является ребенком данного)
  • Функция TObject.HasAsParent (Объект является родителем данного)
  • Функция TObject.IfThenDate (Выбор из двух дат)
  • Функция TObject.IfThenDateTime (Выбор из двух дат со временем)
  • Функция TObject.IfThenFloat (Выбор из двух вещественных)
  • Функция TObject.IfThenInt (Выбор из двух целых)
  • Функция TObject.IfThenObject (Выбор из двух объектов)
  • Функция TObject.IfThenStr (Выбор из двух строк)
  • Функция TObject.IfThenTime (Выбор из двух времен)
  • Функция TObject.IntToStr (Целое в строку)
  • Функция TObject.IsInstanceOf (Является экземпляром класса)
  • Функция TObject.Round (Округление)
  • Функция TObject.StrLength (Длина строки)
  • Функция TObject.StrToDate (Строку в дату)
  • Функция TObject.StrToDateTime (Строку в дату и время)
  • Функция TObject.StrToFloat (Строку в вещественное)
  • Функция TObject.StrToInt (Строку в целое)
  • Функция TObject.StrToTime (Строку во время)
  • Функция TObject.TimePart (Часть времени)
  • Функция TObject.TimeToStr (Время в строку)
  • Функция TObject.Trunc (Отсечение дробной части)
  • Функция TObject.UniqueValue (Уникальный идентификатор)
  • Шаблон отчета Excel TObject.Excel (Пустой шаблон Excel)
  • Шаблон отчета XSLT TObject.ObjectInformation (Информация об объекте)


Конструктор TObject.Create (Конструктор объекта)

(одним файлом)
Конструктор TObject.Create (Конструктор объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) |  | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) |  | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) |  | Скрыт |

Конструирует объект класса TObject (Объекты) .

См. также
  • Класс TObject (Объекты)


Поле TObject.FClass (Класс)

(одним файлом)
Поле TObject.FClass (Класс)
FClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Class (Класс)
TOption.DomainClass (Класс домена)
TField.DomainClass (Класс домена)
TInlineExpression.DomainClass (Класс домена)
TProperty.DomainClass (Класс домена)
TParameter.DomainClass (Класс домена)
.

См. также
  • Класс TObject (Объекты)
  • Свойство TObject.Class (Класс)
  • Свойство TOption.DomainClass (Класс домена)
  • Свойство TField.DomainClass (Класс домена)
  • Свойство TInlineExpression.DomainClass (Класс домена)
  • Свойство TProperty.DomainClass (Класс домена)
  • Свойство TParameter.DomainClass (Класс домена)


Поле TObject.FCreated (Создано)

(одним файлом)
Поле TObject.FCreated (Создано)
FCreated: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Created (Создано)
.

См. также
  • Класс TObject (Объекты)
  • Свойство TObject.Created (Создано)


Поле TObject.FCreator (Создано пользователем)

(одним файлом)
Поле TObject.FCreator (Создано пользователем)
FCreator: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Creator (Создано пользователем)
.

См. также
  • Класс TObject (Объекты)
  • Свойство TObject.Creator (Создано пользователем)


Поле TObject.FDescription (Наименование)

(одним файлом)
Поле TObject.FDescription (Наименование)
FDescription: TObjectDescription (Наименования) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Description (Наименование)
TFormAccess.Description (Наименование)
TVisualGroupAccess.Description (Наименование)
TBanGroupAccess.Description (Наименование)
.

См. также
  • Класс TObject (Объекты)
  • Свойство TObject.Description (Наименование)


Поле TObject.FMaster (Мастер)

(одним файлом)
Поле TObject.FMaster (Мастер)
FMaster: TMaster field domain (Домен поля "Мастер") .

Используется для хранения значений свойств:
TObject.Master (Мастер)
TParameter.RoutineClass (Класс подпрограммы)
TOptionValue.Option (Настройка)
TInstantMessage.Form (Форма)
.

См. также
  • Класс TObject (Объекты)
  • Свойство TObject.Master (Мастер)
  • Свойство TParameter.RoutineClass (Класс подпрограммы)
  • Свойство TOptionValue.Option (Настройка)
  • Свойство TInstantMessage.Form (Форма)


Поле TObject.FModified (Изменено)

(одним файлом)
Поле TObject.FModified (Изменено)
FModified: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Modified (Изменено)
.

См. также
  • Класс TObject (Объекты)
  • Свойство TObject.Modified (Изменено)


Поле TObject.FModifier (Изменено пользователем)

(одним файлом)
Поле TObject.FModifier (Изменено пользователем)
FModifier: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Modifier (Изменено пользователем)
.

См. также
  • Класс TObject (Объекты)
  • Свойство TObject.Modifier (Изменено пользователем)


Поле TObject.FName (Имя)

(одним файлом)
Поле TObject.FName (Имя)
FName: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Name (Имя)
TFormAccess.Name (Имя)
TVisualGroupAccess.Name (Имя)
TBanGroupAccess.Name (Имя)
.

См. также
  • Класс TObject (Объекты)
  • Свойство TObject.Name (Имя)


Поле TObject.FOldID (Идентификатор при создании)

(одним файлом)
Поле TObject.FOldID (Идентификатор при создании)
FOldID: TOldID (Идентификаторы при создании) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.OldID (Идентификатор при создании)
.

См. также
  • Класс TObject (Объекты)
  • Свойство TObject.OldID (Идентификатор при создании)


Поле TObject.FParent (Родитель)

(одним файлом)
Поле TObject.FParent (Родитель)
FParent: TParent domain (Родитель объекта) .

Используется для хранения значений свойства TObject.Parent (Родитель)
.

См. также
  • Класс TObject (Объекты)
  • Свойство TObject.Parent (Родитель)


Поле TObject.FReader (Роль для чтения)

(одним файлом)
Поле TObject.FReader (Роль для чтения)
FReader: TAccessor domain (Роли доступа) .

Используется для хранения значений свойства TObject.Reader (Роль для чтения)
.

См. также
  • Класс TObject (Объекты)
  • Свойство TObject.Reader (Роль для чтения)


Поле TObject.FSourceDataBase (База данных)

(одним файлом)
Поле TObject.FSourceDataBase (База данных)
FSourceDataBase: TSourceDataBase required domain (База данных) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.SourceDataBase (База данных-источник)
.

См. также
  • Класс TObject (Объекты)
  • Свойство TObject.SourceDataBase (База данных-источник)


Поле TObject.FWriter (Роль для записи)

(одним файлом)
Поле TObject.FWriter (Роль для записи)
FWriter: TAccessor domain (Роли доступа) .

Используется для хранения значений свойства TObject.Writer (Роль для записи)
.

См. также
  • Класс TObject (Объекты)
  • Свойство TObject.Writer (Роль для записи)


Процедура TObject.Change (Изменение объекта)

(одним файлом)
Процедура TObject.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) |  | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) |  | Скрыт |

См. также
  • Класс TObject (Объекты)


Процедура TObject.Destroy (Деструктор объекта)

(одним файлом)
Процедура TObject.Destroy (Деструктор объекта)

См. также
  • Класс TObject (Объекты)


Процедура TObject.MergeTo (Отождествить с)

(одним файлом)
Процедура TObject.MergeTo (Отождествить с)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
PrimaryObject (Первичный объект) | TMergedObject domain (Объект для отождествления) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
PrimaryObject (Первичный объект) | TMergedObject domain (Объект для отождествления) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Процедура TObject.SendMessage (Отправить сообщение)

(одним файлом)
Процедура TObject.SendMessage (Отправить сообщение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
MessageText (Текст сообщения) | TObjectDescription (Наименования) |  | Доступен |
Broadcast (Всем пользователям) | Boolean (Обычное логическое) |  | Доступен |
Addressee (Адресат) | TSecurityAccount domain (Роль безопасности) |  | Доступен |
AttachSelected (Присоединить выбранные объекты) | Boolean (Обычное логическое) |  | Доступен |
Selected (Список выбранных объектов) | TList domain (Список объектов) |  | Скрыт | CurrentlySelected (Список выбранных)
CurrentFormView (Текущее представление формы) | TFormView domain (Представления форм) |  | Скрыт | CurrentFormView (Текущее представление формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
MessageText (Текст сообщения) | TObjectDescription (Наименования) |  | Доступен |
Broadcast (Всем пользователям) | Boolean (Обычное логическое) |  | Доступен |
Addressee (Адресат) | TSecurityAccount domain (Роль безопасности) |  | Доступен |
AttachSelected (Присоединить выбранные объекты) | Boolean (Обычное логическое) |  | Доступен |
Selected (Список выбранных объектов) | TList domain (Список объектов) |  | Скрыт | CurrentlySelected (Список выбранных)
CurrentFormView (Текущее представление формы) | TFormView domain (Представления форм) |  | Скрыт | CurrentFormView (Текущее представление формы)

См. также
  • Класс TObject (Объекты)


Процедура TObject.Touch (Модификация объекта)

(одним файлом)
Процедура TObject.Touch (Модификация объекта)

Этот раздел еще предстоит написать.


Псевдоподпрограмма TObject.Column (Колонка)

(одним файлом)
Псевдоподпрограмма TObject.Column (Колонка)

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.Copy (Копировать)

(одним файлом)
Псевдоподпрограмма TObject.Copy (Копировать)

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.CurrentFormView (Текущее представление формы)

(одним файлом)
Псевдоподпрограмма TObject.CurrentFormView (Текущее представление формы)
Является методом класса.

Возвращает значение типа TFormView domain (Представления форм) .

Используется для инициализации значения параметра CurrentFormView (Текущее представление формы) подпрограммы TObject.SendMessage (Отправить сообщение)
.

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.CurrentlySelected (Список выбранных)

(одним файлом)
Псевдоподпрограмма TObject.CurrentlySelected (Список выбранных)
Является методом класса.

Возвращает значение типа TList domain (Список объектов) .

Используется для инициализации значения параметра Selected (Список выбранных объектов) подпрограммы TObject.SendMessage (Отправить сообщение)
.

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.CurrentlyVisible (Список видимых)

(одним файлом)
Псевдоподпрограмма TObject.CurrentlyVisible (Список видимых)
Является методом класса.

Возвращает значение типа TList domain (Список объектов) .

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.Edit columns (Редактировать колонки)

(одним файлом)
Псевдоподпрограмма TObject.Edit columns (Редактировать колонки)

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.Edit properties (Редактировать свойства)

(одним файлом)
Псевдоподпрограмма TObject.Edit properties (Редактировать свойства)

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.Export (Экспортировать)

(одним файлом)
Псевдоподпрограмма TObject.Export (Экспортировать)

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.Merge (Объединить)

(одним файлом)
Псевдоподпрограмма TObject.Merge (Объединить)

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.Messages (Сообщения)

(одним файлом)
Псевдоподпрограмма TObject.Messages (Сообщения)
Является методом класса.

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.Options (Настройки)

(одним файлом)
Псевдоподпрограмма TObject.Options (Настройки)
Является методом класса.

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.Paste (Вставить)

(одним файлом)
Псевдоподпрограмма TObject.Paste (Вставить)

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.Refresh (Обновить)

(одним файлом)
Псевдоподпрограмма TObject.Refresh (Обновить)

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.Selection (Выбранные)

(одним файлом)
Псевдоподпрограмма TObject.Selection (Выбранные)

См. также
  • Класс TObject (Объекты)


Псевдоподпрограмма TObject.Tree (Дерево)

(одним файлом)
Псевдоподпрограмма TObject.Tree (Дерево)

См. также
  • Класс TObject (Объекты)


Свойство TObject.Class (Класс)

(одним файлом)
Свойство TObject.Class (Класс)
Class: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.Created (Создано)

(одним файлом)
Свойство TObject.Created (Создано)
Created: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FCreated (Создано) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.Creator (Создано пользователем)

(одним файлом)
Свойство TObject.Creator (Создано пользователем)
Creator: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FCreator (Создано пользователем) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.Description (Наименование)

(одним файлом)
Свойство TObject.Description (Наименование)
Description: TObjectDescription (Наименования) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TObject.FDescription (Наименование) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.Master (Мастер)

(одним файлом)
Свойство TObject.Master (Мастер)
Master: TMaster domain (Объект (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.Modified (Изменено)

(одним файлом)
Свойство TObject.Modified (Изменено)
Modified: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FModified (Изменено) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.Modifier (Изменено пользователем)

(одним файлом)
Свойство TObject.Modifier (Изменено пользователем)
Modifier: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FModifier (Изменено пользователем) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.Name (Имя)

(одним файлом)
Свойство TObject.Name (Имя)
Name: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TObject.FName (Имя) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.OldID (Идентификатор при создании)

(одним файлом)
Свойство TObject.OldID (Идентификатор при создании)
OldID: TOldID (Идентификаторы при создании) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FOldID (Идентификатор при создании) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.Parent (Родитель)

(одним файлом)
Свойство TObject.Parent (Родитель)
Parent: TParent domain (Родитель объекта) .

Для чтения и записи свойства используется поле TObject.FParent (Родитель) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.Reader (Роль для чтения)

(одним файлом)
Свойство TObject.Reader (Роль для чтения)
Reader: TAccessor domain (Роли доступа) .

Для чтения и записи свойства используется поле TObject.FReader (Роль для чтения) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.ReplicationStatus (Статус репликации)

(одним файлом)
Свойство TObject.ReplicationStatus (Статус репликации)
ReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

Дочернее свойство свойства Class (Класс) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.SourceDataBase (База данных-источник)

(одним файлом)
Свойство TObject.SourceDataBase (База данных-источник)
SourceDataBase: TSourceDataBase required domain (База данных) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FSourceDataBase (База данных) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.SourceDataBaseGUID (GUID базы даных-источника)

(одним файлом)
Свойство TObject.SourceDataBaseGUID (GUID базы даных-источника)
SourceDataBaseGUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FGUID (Идентификатор) .

Дочернее свойство свойства SourceDataBase (База данных-источник) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)

(одним файлом)
Свойство TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
SourceDataBaseIsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FIsCurrent (Является текущей) .

Дочернее свойство свойства SourceDataBase (База данных-источник) .

См. также
  • Класс TObject (Объекты)


Свойство TObject.Writer (Роль для записи)

(одним файлом)
Свойство TObject.Writer (Роль для записи)
Writer: TAccessor domain (Роли доступа) .

Для чтения и записи свойства используется поле TObject.FWriter (Роль для записи) .

См. также
  • Класс TObject (Объекты)


Функция TObject.ASCII (ASCII-код)

(одним файлом)
Функция TObject.ASCII (ASCII-код)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Char (Символ) |  | Скрыт |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Char (Символ) |  | Скрыт |

См. также
  • Класс TObject (Объекты)


Функция TObject.Assigned (Проверка пустоты значения)

(одним файлом)
Функция TObject.Assigned (Проверка пустоты значения)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TObject domain (Объект) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.Char (Символ)

(одним файлом)
Функция TObject.Char (Символ)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

Возвращает значение типа Char (Символ) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.Copy (Копировать)

(одним файлом)
Функция TObject.Copy (Копировать)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |
StartPos (Позиция) | Integer (Целое) |  | Доступен |
Length (Длина) | Integer (Целое) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |
StartPos (Позиция) | Integer (Целое) |  | Доступен |
Length (Длина) | Integer (Целое) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.DatePart (Часть даты)

(одним файлом)
Функция TObject.DatePart (Часть даты)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.DateTimePart (Часть даты со временем)

(одним файлом)
Функция TObject.DateTimePart (Часть даты со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp (Момент) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp (Момент) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.DateTimeToStr (Дату и время в строку)

(одним файлом)
Функция TObject.DateTimeToStr (Дату и время в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp required (Момент (обязательный)) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp required (Момент (обязательный)) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.DateToStr (Дату в строку)

(одним файлом)
Функция TObject.DateToStr (Дату в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.DependsOn (Зависит от)

(одним файлом)
Функция TObject.DependsOn (Зависит от)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
LeadingObject (Ведущий объект) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
LeadingObject (Ведущий объект) | TObject domain (Объект) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.Find (Поиск объекта)

(одним файлом)
Функция TObject.Find (Поиск объекта)

Этот раздел еще предстоит написать.


Функция TObject.FloatToStr (Вещественное в строку)

(одним файлом)
Функция TObject.FloatToStr (Вещественное в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |

См. также
  • Класс TObject (Объекты)


Функция TObject.GetLevel (Уровень в иерархии)

(одним файлом)
Функция TObject.GetLevel (Уровень в иерархии)

Возвращает значение типа TLength (Длина) .

См. также
  • Класс TObject (Объекты)


Функция TObject.GetRoot (Получить корень иерархии)

(одним файлом)
Функция TObject.GetRoot (Получить корень иерархии)

Возвращает значение типа TObject domain (Объект) .

См. также
  • Класс TObject (Объекты)


Функция TObject.HasAsChild (Объект является ребенком данного)

(одним файлом)
Функция TObject.HasAsChild (Объект является ребенком данного)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Child (Дочерний объект) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Child (Дочерний объект) | TObject domain (Объект) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.HasAsParent (Объект является родителем данного)

(одним файлом)
Функция TObject.HasAsParent (Объект является родителем данного)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.IfThenDate (Выбор из двух дат)

(одним файлом)
Функция TObject.IfThenDate (Выбор из двух дат)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TDate (Дата) |  | Доступен |
AFalse (Значение при невыполнении условия) | TDate (Дата) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TDate (Дата) |  | Доступен |
AFalse (Значение при невыполнении условия) | TDate (Дата) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.IfThenDateTime (Выбор из двух дат со временем)

(одним файлом)
Функция TObject.IfThenDateTime (Выбор из двух дат со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TimeStamp (Момент) |  | Доступен |
AFalse (Значение при невыполнении условия) | TimeStamp (Момент) |  | Доступен |

Возвращает значение типа TimeStamp (Момент) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TimeStamp (Момент) |  | Доступен |
AFalse (Значение при невыполнении условия) | TimeStamp (Момент) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.IfThenFloat (Выбор из двух вещественных)

(одним файлом)
Функция TObject.IfThenFloat (Выбор из двух вещественных)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Float (Вещественное) |  | Доступен |
AFalse (Значение при невыполнении условия) | Float (Вещественное) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Float (Вещественное) |  | Доступен |
AFalse (Значение при невыполнении условия) | Float (Вещественное) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.IfThenInt (Выбор из двух целых)

(одним файлом)
Функция TObject.IfThenInt (Выбор из двух целых)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Integer (Целое) |  | Доступен |
AFalse (Значение при невыполнении условия) | Integer (Целое) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Integer (Целое) |  | Доступен |
AFalse (Значение при невыполнении условия) | Integer (Целое) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.IfThenObject (Выбор из двух объектов)

(одним файлом)
Функция TObject.IfThenObject (Выбор из двух объектов)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TObject domain (Объект) |  | Доступен |
AFalse (Значение при невыполнении условия) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TObject domain (Объект) |  | Доступен |
AFalse (Значение при невыполнении условия) | TObject domain (Объект) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.IfThenStr (Выбор из двух строк)

(одним файлом)
Функция TObject.IfThenStr (Выбор из двух строк)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TLongString (Длинная строка) |  | Доступен |
AFalse (Значение при невыполнении условия) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TLongString (Длинная строка) |  | Доступен |
AFalse (Значение при невыполнении условия) | TLongString (Длинная строка) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.IfThenTime (Выбор из двух времен)

(одним файлом)
Функция TObject.IfThenTime (Выбор из двух времен)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TTime (Время) |  | Доступен |
AFalse (Значение при невыполнении условия) | TTime (Время) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TTime (Время) |  | Доступен |
AFalse (Значение при невыполнении условия) | TTime (Время) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.IntToStr (Целое в строку)

(одним файлом)
Функция TObject.IntToStr (Целое в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.IsInstanceOf (Является экземпляром класса)

(одним файлом)
Функция TObject.IsInstanceOf (Является экземпляром класса)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Class (Класс) | TClass domain (Класс) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Class (Класс) | TClass domain (Класс) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.Round (Округление)

(одним файлом)
Функция TObject.Round (Округление)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |
Decimals (Клоичество десятичных знаков) | Integer (Целое) |  | Скрыт |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |
Decimals (Клоичество десятичных знаков) | Integer (Целое) |  | Скрыт |

См. также
  • Класс TObject (Объекты)


Функция TObject.StrLength (Длина строки)

(одним файлом)
Функция TObject.StrLength (Длина строки)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.StrToDate (Строку в дату)

(одним файлом)
Функция TObject.StrToDate (Строку в дату)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.StrToDateTime (Строку в дату и время)

(одним файлом)
Функция TObject.StrToDateTime (Строку в дату и время)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TimeStamp required (Момент (обязательный)) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.StrToFloat (Строку в вещественное)

(одним файлом)
Функция TObject.StrToFloat (Строку в вещественное)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.StrToInt (Строку в целое)

(одним файлом)
Функция TObject.StrToInt (Строку в целое)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.StrToTime (Строку во время)

(одним файлом)
Функция TObject.StrToTime (Строку во время)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.TimePart (Часть времени)

(одним файлом)
Функция TObject.TimePart (Часть времени)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.TimeToStr (Время в строку)

(одним файлом)
Функция TObject.TimeToStr (Время в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Скрыт |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Скрыт |

См. также
  • Класс TObject (Объекты)


Функция TObject.Trunc (Отсечение дробной части)

(одним файлом)
Функция TObject.Trunc (Отсечение дробной части)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Доступен |

См. также
  • Класс TObject (Объекты)


Функция TObject.UniqueValue (Уникальный идентификатор)

(одним файлом)
Функция TObject.UniqueValue (Уникальный идентификатор)
Является методом класса.

Возвращает значение типа TObjectName (Имена) .

См. также
  • Класс TObject (Объекты)


Шаблон отчета Excel TObject.Excel (Пустой шаблон Excel)

(одним файлом)
Шаблон отчета Excel TObject.Excel (Пустой шаблон Excel)
Является методом класса.

См. также
  • Класс TObject (Объекты)


Шаблон отчета XSLT TObject.ObjectInformation (Информация об объекте)

(одним файлом)
Шаблон отчета XSLT TObject.ObjectInformation (Информация об объекте)

Этот раздел еще предстоит написать.


Класс TObjectList (Списки)

(раздел целиком) (одним файлом)
Класс TObjectList (Списки)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TObjectListItem (Элементы списков)

  • Конструктор TObjectList.Create (Конструктор списка)
  • Процедура TObjectList.Add (Добавить объект в список)
  • Процедура TObjectList.Clear (Очистить список)
  • Процедура TObjectList.Delete (Удалить объект)
  • Процедура TObjectList.Force (Добавить, игнорируя ограничения)
  • Процедура TObjectList.SetItem (Установить объект в списке)
  • Функция TObjectList.ByName (Поиск по имени)
  • Функция TObjectList.GetItem (Получить объект из списка)
  • Функция TObjectList.IndexOf (Индек объекта в списке)
  • Функция TObjectList.Length (Длина списка)


Конструктор TObjectList.Create (Конструктор списка)

(одним файлом)
Конструктор TObjectList.Create (Конструктор списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TObjectList (Списки) .

См. также
  • Класс TObjectList (Списки)


Процедура TObjectList.Add (Добавить объект в список)

(одним файлом)
Процедура TObjectList.Add (Добавить объект в список)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

См. также
  • Класс TObjectList (Списки)


Процедура TObjectList.Clear (Очистить список)

(одним файлом)
Процедура TObjectList.Clear (Очистить список)

См. также
  • Класс TObjectList (Списки)


Процедура TObjectList.Delete (Удалить объект)

(одним файлом)
Процедура TObjectList.Delete (Удалить объект)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

См. также
  • Класс TObjectList (Списки)


Процедура TObjectList.Force (Добавить, игнорируя ограничения)

(одним файлом)
Процедура TObjectList.Force (Добавить, игнорируя ограничения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

См. также
  • Класс TObjectList (Списки)


Процедура TObjectList.SetItem (Установить объект в списке)

(одним файлом)
Процедура TObjectList.SetItem (Установить объект в списке)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

См. также
  • Класс TObjectList (Списки)


Функция TObjectList.ByName (Поиск по имени)

(одним файлом)
Функция TObjectList.ByName (Поиск по имени)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен |

См. также
  • Класс TObjectList (Списки)


Функция TObjectList.GetItem (Получить объект из списка)

(одним файлом)
Функция TObjectList.GetItem (Получить объект из списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |

См. также
  • Класс TObjectList (Списки)


Функция TObjectList.IndexOf (Индек объекта в списке)

(одним файлом)
Функция TObjectList.IndexOf (Индек объекта в списке)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

См. также
  • Класс TObjectList (Списки)


Функция TObjectList.Length (Длина списка)

(одним файлом)
Функция TObjectList.Length (Длина списка)

Возвращает значение типа Integer (Целое) .

См. также
  • Класс TObjectList (Списки)


Класс TObjectListItem (Элементы списков)

(раздел целиком) (одним файлом)
Класс TObjectListItem (Элементы списков)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TObjectList (Списки) .

  • Конструктор TObjectListItem.Create (Конструктор элемента списка)
  • Поле TObjectListItem.FObject (Объект)
  • Поле TObjectListItem.FPosition (Позиция)


Конструктор TObjectListItem.Create (Конструктор элемента списка)

(одним файлом)
Конструктор TObjectListItem.Create (Конструктор элемента списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TObjectListItem (Элементы списков) .

См. также
  • Класс TObjectListItem (Элементы списков)


Поле TObjectListItem.FObject (Объект)

(одним файлом)
Поле TObjectListItem.FObject (Объект)
FObject: TObject domain (Объект) .

См. также
  • Класс TObjectListItem (Элементы списков)


Поле TObjectListItem.FPosition (Позиция)

(одним файлом)
Поле TObjectListItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

См. также
  • Класс TObjectListItem (Элементы списков)


Класс TOleObjectMethod (Метод Ole-объекта)

(раздел целиком) (одним файлом)
Класс TOleObjectMethod (Метод Ole-объекта)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

  • Конструктор TOleObjectMethod.Create (Конструктор метода Ole-объекта)
  • Поле TOleObjectMethod.FClassID (Идентификатор класса)
  • Поле TOleObjectMethod.FCodeLibrary (Библиотека кода)
  • Поле TOleObjectMethod.FMethod (Имя метода)
  • Свойство TOleObjectMethod.ClassID (Идентификатор класса)
  • Свойство TOleObjectMethod.CodeLibrary (Библиотека кода)
  • Свойство TOleObjectMethod.Method (Метод)


Конструктор TOleObjectMethod.Create (Конструктор метода Ole-объекта)

(одним файлом)
Конструктор TOleObjectMethod.Create (Конструктор метода Ole-объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
CodeLibrary (Библиотека кода) | TCodeLibrary domain (Библиотека кода) |  | Доступен |
ClassID (Идентификатор класса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |
Method (Метод) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TOleObjectMethod (Метод Ole-объекта) .

См. также
  • Класс TOleObjectMethod (Метод Ole-объекта)


Поле TOleObjectMethod.FClassID (Идентификатор класса)

(одним файлом)
Поле TOleObjectMethod.FClassID (Идентификатор класса)
FClassID: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TOleObjectMethod.ClassID (Идентификатор класса)
.

См. также
  • Класс TOleObjectMethod (Метод Ole-объекта)
  • Свойство TOleObjectMethod.ClassID (Идентификатор класса)


Поле TOleObjectMethod.FCodeLibrary (Библиотека кода)

(одним файлом)
Поле TOleObjectMethod.FCodeLibrary (Библиотека кода)
FCodeLibrary: TCodeLibrary domain (Библиотека кода) .

Используется для хранения значений свойства TOleObjectMethod.CodeLibrary (Библиотека кода)
.

См. также
  • Класс TOleObjectMethod (Метод Ole-объекта)
  • Свойство TOleObjectMethod.CodeLibrary (Библиотека кода)


Поле TOleObjectMethod.FMethod (Имя метода)

(одним файлом)
Поле TOleObjectMethod.FMethod (Имя метода)
FMethod: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TOleObjectMethod.Method (Метод)
.

См. также
  • Класс TOleObjectMethod (Метод Ole-объекта)
  • Свойство TOleObjectMethod.Method (Метод)


Свойство TOleObjectMethod.ClassID (Идентификатор класса)

(одним файлом)
Свойство TOleObjectMethod.ClassID (Идентификатор класса)
ClassID: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TOleObjectMethod.FClassID (Идентификатор класса) .

См. также
  • Класс TOleObjectMethod (Метод Ole-объекта)


Свойство TOleObjectMethod.CodeLibrary (Библиотека кода)

(одним файлом)
Свойство TOleObjectMethod.CodeLibrary (Библиотека кода)
CodeLibrary: TCodeLibrary domain (Библиотека кода) .

Для чтения и записи свойства используется поле TOleObjectMethod.FCodeLibrary (Библиотека кода) .

См. также
  • Класс TOleObjectMethod (Метод Ole-объекта)


Свойство TOleObjectMethod.Method (Метод)

(одним файлом)
Свойство TOleObjectMethod.Method (Метод)
Method: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TOleObjectMethod.FMethod (Имя метода) .

См. также
  • Класс TOleObjectMethod (Метод Ole-объекта)


Класс TOption (Настройки)

(раздел целиком) (одним файлом)
Класс TOption (Настройки)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TOptionValue (Значения настроек)

  • Конструктор TOption.Create (Конструктор настройки)
  • Поле TOption.FDomain (Домен)
  • Поле TOption.FGlobal (Глобальная)
  • Поле TOption.FGroup (Заголовок группы)
  • Поле TOption.FPosition (Позиция)
  • Поле TOption.FTab (Заголовок закладки)
  • Процедура TOption.SetValue (Установка значения)
  • Свойство TOption.Domain (Домен)
  • Свойство TOption.DomainClass (Класс домена)
  • Свойство TOption.DomainRequired (Обязательно для заполнения)
  • Свойство TOption.Global (Глобальная)
  • Свойство TOption.Group (Заголовок группы)
  • Свойство TOption.Position (Позиция)
  • Свойство TOption.Tab (Заголовок закладки)
  • Свойство TOption.User (Пользователь)
  • Свойство TOption.Value (Значение)
  • Свойство TOption.VisibleValue (Видимое значение)
  • Функция TOption.AreValid (Настройки действительны)
  • Функция TOption.GetBlobValue (Значение-большой объект)
  • Функция TOption.GetBoolValue (Логическое значение)
  • Функция TOption.GetDateTimeValue (Значение даты со временем)
  • Функция TOption.GetDateValue (Значение даты)
  • Функция TOption.GetFloatValue (Вещественное значение)
  • Функция TOption.GetIntValue (Целое значение)
  • Функция TOption.GetNextPos (Следующая позиция)
  • Функция TOption.GetObjectValue (Значение-объект)
  • Функция TOption.GetStrValue (Строковое значение)
  • Функция TOption.GetTimeValue (Значение времени)
  • Функция TOption.GetValue (Значение)


Конструктор TOption.Create (Конструктор настройки)

(одним файлом)
Конструктор TOption.Create (Конструктор настройки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
Global (Глобальная) | Boolean (Обычное логическое) |  | Доступен |
Group (Заголовок группы) | TCaption (Заголовки) |  | Доступен |
Tab (Заголовок закладки) | TCaption (Заголовки) |  | Доступен |
Position (Позиция) | Integer (Целое) |  | Доступен | GetNextPos (Следующая позиция)

Конструирует объект класса TOption (Настройки) .

См. также
  • Класс TOption (Настройки)


Поле TOption.FDomain (Домен)

(одним файлом)
Поле TOption.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TOption.Domain (Домен)
TOptionValue.Domain (Домен)
.

См. также
  • Класс TOption (Настройки)
  • Свойство TOption.Domain (Домен)
  • Свойство TOptionValue.Domain (Домен)


Поле TOption.FGlobal (Глобальная)

(одним файлом)
Поле TOption.FGlobal (Глобальная)
FGlobal: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TOption.Global (Глобальная)
TOptionValue.Global (Глобальная)
.

См. также
  • Класс TOption (Настройки)
  • Свойство TOption.Global (Глобальная)
  • Свойство TOptionValue.Global (Глобальная)


Поле TOption.FGroup (Заголовок группы)

(одним файлом)
Поле TOption.FGroup (Заголовок группы)
FGroup: TCaption (Заголовки) .

Используется для хранения значений свойства TOption.Group (Заголовок группы)
.

См. также
  • Класс TOption (Настройки)
  • Свойство TOption.Group (Заголовок группы)


Поле TOption.FPosition (Позиция)

(одним файлом)
Поле TOption.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TOption.Position (Позиция)
.

См. также
  • Класс TOption (Настройки)
  • Свойство TOption.Position (Позиция)


Поле TOption.FTab (Заголовок закладки)

(одним файлом)
Поле TOption.FTab (Заголовок закладки)
FTab: TCaption (Заголовки) .

Используется для хранения значений свойства TOption.Tab (Заголовок закладки)
.

См. также
  • Класс TOption (Настройки)
  • Свойство TOption.Tab (Заголовок закладки)


Процедура TOption.SetValue (Установка значения)

(одним файлом)
Процедура TOption.SetValue (Установка значения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

См. также
  • Класс TOption (Настройки)


Свойство TOption.Domain (Домен)

(одним файлом)
Свойство TOption.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FDomain (Домен) .

См. также
  • Класс TOption (Настройки)


Свойство TOption.DomainClass (Класс домена)

(одним файлом)
Свойство TOption.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

См. также
  • Класс TOption (Настройки)


Свойство TOption.DomainRequired (Обязательно для заполнения)

(одним файлом)
Свойство TOption.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

См. также
  • Класс TOption (Настройки)


Свойство TOption.Global (Глобальная)

(одним файлом)
Свойство TOption.Global (Глобальная)
Global: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FGlobal (Глобальная) .

См. также
  • Класс TOption (Настройки)


Свойство TOption.Group (Заголовок группы)

(одним файлом)
Свойство TOption.Group (Заголовок группы)
Group: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TOption.FGroup (Заголовок группы) .

См. также
  • Класс TOption (Настройки)


Свойство TOption.Position (Позиция)

(одним файлом)
Свойство TOption.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FPosition (Позиция) .

См. также
  • Класс TOption (Настройки)


Свойство TOption.Tab (Заголовок закладки)

(одним файлом)
Свойство TOption.Tab (Заголовок закладки)
Tab: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TOption.FTab (Заголовок закладки) .

См. также
  • Класс TOption (Настройки)


Свойство TOption.User (Пользователь)

(одним файлом)
Свойство TOption.User (Пользователь)
User: TUser domain (Пользователь) .

Для чтения и записи свойства используется поле TOptionValue.FUser (Пользователь) .

Дочернее свойство свойства Value (Значение) .

См. также
  • Класс TOption (Настройки)


Свойство TOption.Value (Значение)

(одним файлом)
Свойство TOption.Value (Значение)
Value: TOptionValue domain (Значение настройки) . Вычисление свойства отложено.

Для чтения значения свойства используется функция TOption.GetValue (Значение) .

См. также
  • Класс TOption (Настройки)


Свойство TOption.VisibleValue (Видимое значение)

(одним файлом)
Свойство TOption.VisibleValue (Видимое значение)
VisibleValue: TLongString (Длинная строка) .

Для чтения значения свойства используется функция TOptionValue.GetVisibleValue (Видимое значение) .

Дочернее свойство свойства Value (Значение) .

См. также
  • Класс TOption (Настройки)


Функция TOption.AreValid (Настройки действительны)

(одним файлом)
Функция TOption.AreValid (Настройки действительны)
Является методом класса.

Возвращает значение типа Boolean (Обычное логическое) .

См. также
  • Класс TOption (Настройки)


Функция TOption.GetBlobValue (Значение-большой объект)

(одним файлом)
Функция TOption.GetBlobValue (Значение-большой объект)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TBinaryData (Двоичные данные) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

См. также
  • Класс TOption (Настройки)


Функция TOption.GetBoolValue (Логическое значение)

(одним файлом)
Функция TOption.GetBoolValue (Логическое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

См. также
  • Класс TOption (Настройки)


Функция TOption.GetDateTimeValue (Значение даты со временем)

(одним файлом)
Функция TOption.GetDateTimeValue (Значение даты со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TimeStamp (Момент) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

См. также
  • Класс TOption (Настройки)


Функция TOption.GetDateValue (Значение даты)

(одним файлом)
Функция TOption.GetDateValue (Значение даты)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

См. также
  • Класс TOption (Настройки)


Функция TOption.GetFloatValue (Вещественное значение)

(одним файлом)
Функция TOption.GetFloatValue (Вещественное значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

См. также
  • Класс TOption (Настройки)


Функция TOption.GetIntValue (Целое значение)

(одним файлом)
Функция TOption.GetIntValue (Целое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

См. также
  • Класс TOption (Настройки)


Функция TOption.GetNextPos (Следующая позиция)

(одним файлом)
Функция TOption.GetNextPos (Следующая позиция)
Является методом класса.

Возвращает значение типа Integer (Целое) .

Используется для инициализации значения параметра Position (Позиция) подпрограммы TOption.Create (Конструктор настройки)
.

См. также
  • Класс TOption (Настройки)


Функция TOption.GetObjectValue (Значение-объект)

(одним файлом)
Функция TOption.GetObjectValue (Значение-объект)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

См. также
  • Класс TOption (Настройки)


Функция TOption.GetStrValue (Строковое значение)

(одним файлом)
Функция TOption.GetStrValue (Строковое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

См. также
  • Класс TOption (Настройки)


Функция TOption.GetTimeValue (Значение времени)

(одним файлом)
Функция TOption.GetTimeValue (Значение времени)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

См. также
  • Класс TOption (Настройки)


Функция TOption.GetValue (Значение)

(одним файлом)
Функция TOption.GetValue (Значение)

Возвращает значение типа TOptionValue domain (Значение настройки) .

Используется для вычисления значений свойства TOption.Value (Значение)
.

См. также
  • Класс TOption (Настройки)


Класс TOptionValue (Значения настроек)

(раздел целиком) (одним файлом)
Класс TOptionValue (Значения настроек)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TOption (Настройки) .

  • Конструктор TOptionValue.Create (Конструктор значения настройки)
  • Поле TOptionValue.FBlobValue (Значение-большой объект)
  • Поле TOptionValue.FBoolValue (Логическое значение)
  • Поле TOptionValue.FDateTimeValue (Значение даты со временем)
  • Поле TOptionValue.FDateValue (Значение даты)
  • Поле TOptionValue.FFloatValue (Вещественное значение)
  • Поле TOptionValue.FIntValue (Целое значение)
  • Поле TOptionValue.FObjectValue (Значение-объект)
  • Поле TOptionValue.FStrValue (Строковое значение)
  • Поле TOptionValue.FTimeValue (Значение времени)
  • Поле TOptionValue.FUser (Пользователь)
  • Свойство TOptionValue.BlobValue (Значение-большой объект)
  • Свойство TOptionValue.BoolValue (Логическое значение)
  • Свойство TOptionValue.DateTimeValue (Значение даты со временем)
  • Свойство TOptionValue.DateValue (Значение даты)
  • Свойство TOptionValue.Domain (Домен)
  • Свойство TOptionValue.FloatValue (Вещественное значение)
  • Свойство TOptionValue.Global (Глобальная)
  • Свойство TOptionValue.IntValue (Целое значение)
  • Свойство TOptionValue.IsCurrent (Является текущим)
  • Свойство TOptionValue.ObjectValue (Значение-объект)
  • Свойство TOptionValue.Option (Настройка)
  • Свойство TOptionValue.StrValue (Строковое значение)
  • Свойство TOptionValue.TimeValue (Значение времени)
  • Свойство TOptionValue.User (Пользователь)
  • Свойство TOptionValue.VisibleValue (Видимое значение)
  • Функция TOptionValue.GetVisibleValue (Видимое значение)


Конструктор TOptionValue.Create (Конструктор значения настройки)

(одним файлом)
Конструктор TOptionValue.Create (Конструктор значения настройки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
User (Пользователь) | TUser domain (Пользователь) |  | Доступен |
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TOptionValue (Значения настроек) .

См. также
  • Класс TOptionValue (Значения настроек)


Поле TOptionValue.FBlobValue (Значение-большой объект)

(одним файлом)
Поле TOptionValue.FBlobValue (Значение-большой объект)
FBlobValue: TBinaryData (Двоичные данные) .

Используется для хранения значений свойства TOptionValue.BlobValue (Значение-большой объект)
.

См. также
  • Класс TOptionValue (Значения настроек)
  • Свойство TOptionValue.BlobValue (Значение-большой объект)


Поле TOptionValue.FBoolValue (Логическое значение)

(одним файлом)
Поле TOptionValue.FBoolValue (Логическое значение)
FBoolValue: Non-required boolean (Необязательное логическое) .

Используется для хранения значений свойства TOptionValue.BoolValue (Логическое значение)
.

См. также
  • Класс TOptionValue (Значения настроек)
  • Свойство TOptionValue.BoolValue (Логическое значение)


Поле TOptionValue.FDateTimeValue (Значение даты со временем)

(одним файлом)
Поле TOptionValue.FDateTimeValue (Значение даты со временем)
FDateTimeValue: TimeStamp (Момент) .

Используется для хранения значений свойства TOptionValue.DateTimeValue (Значение даты со временем)
.

См. также
  • Класс TOptionValue (Значения настроек)
  • Свойство TOptionValue.DateTimeValue (Значение даты со временем)


Поле TOptionValue.FDateValue (Значение даты)

(одним файлом)
Поле TOptionValue.FDateValue (Значение даты)
FDateValue: TDate (Дата) .

Используется для хранения значений свойства TOptionValue.DateValue (Значение даты)
.

См. также
  • Класс TOptionValue (Значения настроек)
  • Свойство TOptionValue.DateValue (Значение даты)


Поле TOptionValue.FFloatValue (Вещественное значение)

(одним файлом)
Поле TOptionValue.FFloatValue (Вещественное значение)
FFloatValue: Float (Вещественное) .

Используется для хранения значений свойства TOptionValue.FloatValue (Вещественное значение)
.

См. также
  • Класс TOptionValue (Значения настроек)
  • Свойство TOptionValue.FloatValue (Вещественное значение)


Поле TOptionValue.FIntValue (Целое значение)

(одним файлом)
Поле TOptionValue.FIntValue (Целое значение)
FIntValue: Integer (Целое) .

Используется для хранения значений свойства TOptionValue.IntValue (Целое значение)
.

См. также
  • Класс TOptionValue (Значения настроек)
  • Свойство TOptionValue.IntValue (Целое значение)


Поле TOptionValue.FObjectValue (Значение-объект)

(одним файлом)
Поле TOptionValue.FObjectValue (Значение-объект)
FObjectValue: TObject domain (Объект) .

Используется для хранения значений свойства TOptionValue.ObjectValue (Значение-объект)
.

См. также
  • Класс TOptionValue (Значения настроек)
  • Свойство TOptionValue.ObjectValue (Значение-объект)


Поле TOptionValue.FStrValue (Строковое значение)

(одним файлом)
Поле TOptionValue.FStrValue (Строковое значение)
FStrValue: TLongString (Длинная строка) .

Используется для хранения значений свойства TOptionValue.StrValue (Строковое значение)
.

См. также
  • Класс TOptionValue (Значения настроек)
  • Свойство TOptionValue.StrValue (Строковое значение)


Поле TOptionValue.FTimeValue (Значение времени)

(одним файлом)
Поле TOptionValue.FTimeValue (Значение времени)
FTimeValue: TTime (Время) .

Используется для хранения значений свойства TOptionValue.TimeValue (Значение времени)
.

См. также
  • Класс TOptionValue (Значения настроек)
  • Свойство TOptionValue.TimeValue (Значение времени)


Поле TOptionValue.FUser (Пользователь)

(одним файлом)
Поле TOptionValue.FUser (Пользователь)
FUser: TUser domain (Пользователь) .

Используется для хранения значений свойств:
TOptionValue.User (Пользователь)
TOption.User (Пользователь)
.

См. также
  • Класс TOptionValue (Значения настроек)
  • Свойство TOptionValue.User (Пользователь)
  • Свойство TOption.User (Пользователь)


Свойство TOptionValue.BlobValue (Значение-большой объект)

(одним файлом)
Свойство TOptionValue.BlobValue (Значение-большой объект)
BlobValue: TBinaryData (Двоичные данные) .

Для чтения и записи свойства используется поле TOptionValue.FBlobValue (Значение-большой объект) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.BoolValue (Логическое значение)

(одним файлом)
Свойство TOptionValue.BoolValue (Логическое значение)
BoolValue: Non-required boolean (Необязательное логическое) .

Для чтения и записи свойства используется поле TOptionValue.FBoolValue (Логическое значение) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.DateTimeValue (Значение даты со временем)

(одним файлом)
Свойство TOptionValue.DateTimeValue (Значение даты со временем)
DateTimeValue: TimeStamp (Момент) .

Для чтения и записи свойства используется поле TOptionValue.FDateTimeValue (Значение даты со временем) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.DateValue (Значение даты)

(одним файлом)
Свойство TOptionValue.DateValue (Значение даты)
DateValue: TDate (Дата) .

Для чтения и записи свойства используется поле TOptionValue.FDateValue (Значение даты) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.Domain (Домен)

(одним файлом)
Свойство TOptionValue.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FDomain (Домен) .

Дочернее свойство свойства Option (Настройка) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.FloatValue (Вещественное значение)

(одним файлом)
Свойство TOptionValue.FloatValue (Вещественное значение)
FloatValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TOptionValue.FFloatValue (Вещественное значение) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.Global (Глобальная)

(одним файлом)
Свойство TOptionValue.Global (Глобальная)
Global: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FGlobal (Глобальная) .

Дочернее свойство свойства Option (Настройка) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.IntValue (Целое значение)

(одним файлом)
Свойство TOptionValue.IntValue (Целое значение)
IntValue: Integer (Целое) .

Для чтения и записи свойства используется поле TOptionValue.FIntValue (Целое значение) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.IsCurrent (Является текущим)

(одним файлом)
Свойство TOptionValue.IsCurrent (Является текущим)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

Дочернее свойство свойства User (Пользователь) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.ObjectValue (Значение-объект)

(одним файлом)
Свойство TOptionValue.ObjectValue (Значение-объект)
ObjectValue: TObject domain (Объект) .

Для чтения и записи свойства используется поле TOptionValue.FObjectValue (Значение-объект) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.Option (Настройка)

(одним файлом)
Свойство TOptionValue.Option (Настройка)
Option: TOption required domain (Настройка (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.StrValue (Строковое значение)

(одним файлом)
Свойство TOptionValue.StrValue (Строковое значение)
StrValue: TLongString (Длинная строка) .

Для чтения и записи свойства используется поле TOptionValue.FStrValue (Строковое значение) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.TimeValue (Значение времени)

(одним файлом)
Свойство TOptionValue.TimeValue (Значение времени)
TimeValue: TTime (Время) .

Для чтения и записи свойства используется поле TOptionValue.FTimeValue (Значение времени) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.User (Пользователь)

(одним файлом)
Свойство TOptionValue.User (Пользователь)
User: TUser domain (Пользователь) .

Для чтения и записи свойства используется поле TOptionValue.FUser (Пользователь) .

См. также
  • Класс TOptionValue (Значения настроек)


Свойство TOptionValue.VisibleValue (Видимое значение)

(одним файлом)
Свойство TOptionValue.VisibleValue (Видимое значение)
VisibleValue: TLongString (Длинная строка) .

Для чтения значения свойства используется функция TOptionValue.GetVisibleValue (Видимое значение) .

См. также
  • Класс TOptionValue (Значения настроек)


Функция TOptionValue.GetVisibleValue (Видимое значение)

(одним файлом)
Функция TOptionValue.GetVisibleValue (Видимое значение)

Возвращает значение типа TLongString (Длинная строка) .

Используется для вычисления значений свойств:
TOptionValue.VisibleValue (Видимое значение)
TOption.VisibleValue (Видимое значение)
.

См. также
  • Класс TOptionValue (Значения настроек)


Класс TParameter (Параметры)

(раздел целиком) (одним файлом)
Класс TParameter (Параметры)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TRoutine (Подпрограмма) .

  • Конструктор TParameter.Create (Конструктор параметра)
  • Поле TParameter.FDomain (Домен)
  • Поле TParameter.FGroup (Заголовок группы)
  • Поле TParameter.FInitializationMember (Инициализируется членом)
  • Поле TParameter.FOutOfTabs (За пределами закладок)
  • Поле TParameter.FPosition (Позиция)
  • Поле TParameter.FScope (Область видимости)
  • Поле TParameter.FTab (Заголовок закладки)
  • Свойство TParameter.Domain (Домен)
  • Свойство TParameter.DomainClass (Класс домена)
  • Свойство TParameter.DomainRequired (Обязательно для заполнения)
  • Свойство TParameter.Group (Заголовок группы)
  • Свойство TParameter.InitializationMember (Инициализируется членом класса)
  • Свойство TParameter.OutOfTabs (За пределами закладок)
  • Свойство TParameter.Position (Позиция)
  • Свойство TParameter.RoutineClass (Класс подпрограммы)
  • Свойство TParameter.Scope (Область видимости)
  • Свойство TParameter.Tab (Заголовок закладки)
  • Функция TParameter.GetNextPos (Следующая позиция)


Конструктор TParameter.Create (Конструктор параметра)

(одним файлом)
Конструктор TParameter.Create (Конструктор параметра)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Group (Заголовок группы) | TCaption (Заголовки) |  | Доступен |
Tab (Заголовок закладки) | TCaption (Заголовки) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
InitializationMember (Инициализируется членом класса) | TInitializationMember domain (Член класса для инициализации) |  | Доступен |

Конструирует объект класса TParameter (Параметры) .

См. также
  • Класс TParameter (Параметры)


Поле TParameter.FDomain (Домен)

(одним файлом)
Поле TParameter.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Domain (Домен)
.

См. также
  • Класс TParameter (Параметры)
  • Свойство TParameter.Domain (Домен)


Поле TParameter.FGroup (Заголовок группы)

(одним файлом)
Поле TParameter.FGroup (Заголовок группы)
FGroup: TCaption (Заголовки) .

Используется для хранения значений свойства TParameter.Group (Заголовок группы)
.

См. также
  • Класс TParameter (Параметры)
  • Свойство TParameter.Group (Заголовок группы)


Поле TParameter.FInitializationMember (Инициализируется членом)

(одним файлом)
Поле TParameter.FInitializationMember (Инициализируется членом)
FInitializationMember: TInitializationMember domain (Член класса для инициализации) .

Используется для хранения значений свойства TParameter.InitializationMember (Инициализируется членом класса)
.

См. также
  • Класс TParameter (Параметры)
  • Свойство TParameter.InitializationMember (Инициализируется членом класса)


Поле TParameter.FOutOfTabs (За пределами закладок)

(одним файлом)
Поле TParameter.FOutOfTabs (За пределами закладок)

Этот раздел еще предстоит написать.


Поле TParameter.FPosition (Позиция)

(одним файлом)
Поле TParameter.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Position (Позиция)
.

См. также
  • Класс TParameter (Параметры)
  • Свойство TParameter.Position (Позиция)


Поле TParameter.FScope (Область видимости)

(одним файлом)
Поле TParameter.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Scope (Область видимости)
.

См. также
  • Класс TParameter (Параметры)
  • Свойство TParameter.Scope (Область видимости)


Поле TParameter.FTab (Заголовок закладки)

(одним файлом)
Поле TParameter.FTab (Заголовок закладки)
FTab: TCaption (Заголовки) .

Используется для хранения значений свойства TParameter.Tab (Заголовок закладки)
.

См. также
  • Класс TParameter (Параметры)
  • Свойство TParameter.Tab (Заголовок закладки)


Свойство TParameter.Domain (Домен)

(одним файлом)
Свойство TParameter.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FDomain (Домен) .

См. также
  • Класс TParameter (Параметры)


Свойство TParameter.DomainClass (Класс домена)

(одним файлом)
Свойство TParameter.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

См. также
  • Класс TParameter (Параметры)


Свойство TParameter.DomainRequired (Обязательно для заполнения)

(одним файлом)
Свойство TParameter.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

См. также
  • Класс TParameter (Параметры)


Свойство TParameter.Group (Заголовок группы)

(одним файлом)
Свойство TParameter.Group (Заголовок группы)
Group: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TParameter.FGroup (Заголовок группы) .

См. также
  • Класс TParameter (Параметры)


Свойство TParameter.InitializationMember (Инициализируется членом класса)

(одним файлом)
Свойство TParameter.InitializationMember (Инициализируется членом класса)
InitializationMember: TInitializationMember domain (Член класса для инициализации) .

Для чтения и записи свойства используется поле TParameter.FInitializationMember (Инициализируется членом) .

См. также
  • Класс TParameter (Параметры)


Свойство TParameter.OutOfTabs (За пределами закладок)

(одним файлом)
Свойство TParameter.OutOfTabs (За пределами закладок)

Этот раздел еще предстоит написать.


Свойство TParameter.Position (Позиция)

(одним файлом)
Свойство TParameter.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FPosition (Позиция) .

См. также
  • Класс TParameter (Параметры)


Свойство TParameter.RoutineClass (Класс подпрограммы)

(одним файлом)
Свойство TParameter.RoutineClass (Класс подпрограммы)
RoutineClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

Дочернее свойство свойства Master (Мастер) .

См. также
  • Класс TParameter (Параметры)


Свойство TParameter.Scope (Область видимости)

(одним файлом)
Свойство TParameter.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FScope (Область видимости) .

См. также
  • Класс TParameter (Параметры)


Свойство TParameter.Tab (Заголовок закладки)

(одним файлом)
Свойство TParameter.Tab (Заголовок закладки)
Tab: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TParameter.FTab (Заголовок закладки) .

См. также
  • Класс TParameter (Параметры)


Функция TParameter.GetNextPos (Следующая позиция)

(одним файлом)
Функция TParameter.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TParameter.Create (Конструктор параметра)
.

См. также
  • Класс TParameter (Параметры)


Класс TProperty (Свойства)

(раздел целиком) (одним файлом)
Класс TProperty (Свойства)
Унаследован от класса TClassMember (Члены класса) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TClass (Классы) .

  • Конструктор TProperty.Create (Конструктор свойства)
  • Поле TProperty.FCategory (Категория)
  • Поле TProperty.FDomain (Домен)
  • Поле TProperty.FIsExportable (Эскпортируется)
  • Поле TProperty.FIsSuspended (Отложенное)
  • Поле TProperty.FPosition (Позиция)
  • Поле TProperty.FReadMember (Член класса для чтения)
  • Поле TProperty.FScope (Область видимости)
  • Поле TProperty.FWriteMember (Член класса для записи)
  • Процедура TProperty.Change (Изменение объекта)
  • Процедура TProperty.CreateChildren (Создать дочерние свойства)
  • Свойство TProperty.Category (Категория)
  • Свойство TProperty.Domain (Домен)
  • Свойство TProperty.DomainClass (Класс домена)
  • Свойство TProperty.DomainRequired (Обязательно для заполнения)
  • Свойство TProperty.IsExportable (Для экспорта)
  • Свойство TProperty.IsSuspended (Отложенное)
  • Свойство TProperty.Position (Позиция)
  • Свойство TProperty.ReadMember (Член класса для чтения)
  • Свойство TProperty.Scope (Область видимости)
  • Свойство TProperty.WriteMember (Член класса для записи)
  • Функция TProperty.GetNextPos (Следующая позиция)


Конструктор TProperty.Create (Конструктор свойства)

(одним файлом)
Конструктор TProperty.Create (Конструктор свойства)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
ReadMember (Член класса для чтения) | TReadMember domain (Член класса для чтения) |  | Доступен |
WriteMember (Член класса для записи) | TWriteMember domain (Член класса для записи) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
IsExportable (Для экспорта) | Boolean (Обычное логическое) |  | Доступен |
Category (Категория) | TCaption (Заголовки) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
IsSuspended (Отложенное) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TProperty (Свойства) .

См. также
  • Класс TProperty (Свойства)


Поле TProperty.FCategory (Категория)

(одним файлом)
Поле TProperty.FCategory (Категория)
FCategory: TCaption (Заголовки) .

Используется для хранения значений свойства TProperty.Category (Категория)
.

См. также
  • Класс TProperty (Свойства)
  • Свойство TProperty.Category (Категория)


Поле TProperty.FDomain (Домен)

(одним файлом)
Поле TProperty.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Domain (Домен)
.

См. также
  • Класс TProperty (Свойства)
  • Свойство TProperty.Domain (Домен)


Поле TProperty.FIsExportable (Эскпортируется)

(одним файлом)
Поле TProperty.FIsExportable (Эскпортируется)
FIsExportable: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.IsExportable (Для экспорта)
.

См. также
  • Класс TProperty (Свойства)
  • Свойство TProperty.IsExportable (Для экспорта)


Поле TProperty.FIsSuspended (Отложенное)

(одним файлом)
Поле TProperty.FIsSuspended (Отложенное)
FIsSuspended: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.IsSuspended (Отложенное)
.

См. также
  • Класс TProperty (Свойства)
  • Свойство TProperty.IsSuspended (Отложенное)


Поле TProperty.FPosition (Позиция)

(одним файлом)
Поле TProperty.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Position (Позиция)
.

См. также
  • Класс TProperty (Свойства)
  • Свойство TProperty.Position (Позиция)


Поле TProperty.FReadMember (Член класса для чтения)

(одним файлом)
Поле TProperty.FReadMember (Член класса для чтения)
FReadMember: TReadMember domain (Член класса для чтения) .

Используется для хранения значений свойства TProperty.ReadMember (Член класса для чтения)
.

См. также
  • Класс TProperty (Свойства)
  • Свойство TProperty.ReadMember (Член класса для чтения)


Поле TProperty.FScope (Область видимости)

(одним файлом)
Поле TProperty.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Scope (Область видимости)
.

См. также
  • Класс TProperty (Свойства)
  • Свойство TProperty.Scope (Область видимости)


Поле TProperty.FWriteMember (Член класса для записи)

(одним файлом)
Поле TProperty.FWriteMember (Член класса для записи)
FWriteMember: TWriteMember domain (Член класса для записи) .

Используется для хранения значений свойства TProperty.WriteMember (Член класса для записи)
.

См. также
  • Класс TProperty (Свойства)
  • Свойство TProperty.WriteMember (Член класса для записи)


Процедура TProperty.Change (Изменение объекта)

(одним файлом)
Процедура TProperty.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

См. также
  • Класс TProperty (Свойства)


Процедура TProperty.CreateChildren (Создать дочерние свойства)

(одним файлом)
Процедура TProperty.CreateChildren (Создать дочерние свойства)

См. также
  • Класс TProperty (Свойства)


Свойство TProperty.Category (Категория)

(одним файлом)
Свойство TProperty.Category (Категория)
Category: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TProperty.FCategory (Категория) .

См. также
  • Класс TProperty (Свойства)


Свойство TProperty.Domain (Домен)

(одним файлом)
Свойство TProperty.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FDomain (Домен) .

См. также
  • Класс TProperty (Свойства)


Свойство TProperty.DomainClass (Класс домена)

(одним файлом)
Свойство TProperty.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

См. также
  • Класс TProperty (Свойства)


Свойство TProperty.DomainRequired (Обязательно для заполнения)

(одним файлом)
Свойство TProperty.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

См. также
  • Класс TProperty (Свойства)


Свойство TProperty.IsExportable (Для экспорта)

(одним файлом)
Свойство TProperty.IsExportable (Для экспорта)
IsExportable: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FIsExportable (Эскпортируется) .

См. также
  • Класс TProperty (Свойства)


Свойство TProperty.IsSuspended (Отложенное)

(одним файлом)
Свойство TProperty.IsSuspended (Отложенное)
IsSuspended: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FIsSuspended (Отложенное) .

См. также
  • Класс TProperty (Свойства)


Свойство TProperty.Position (Позиция)

(одним файлом)
Свойство TProperty.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FPosition (Позиция) .

См. также
  • Класс TProperty (Свойства)


Свойство TProperty.ReadMember (Член класса для чтения)

(одним файлом)
Свойство TProperty.ReadMember (Член класса для чтения)
ReadMember: TReadMember domain (Член класса для чтения) .

Для чтения и записи свойства используется поле TProperty.FReadMember (Член класса для чтения) .

См. также
  • Класс TProperty (Свойства)


Свойство TProperty.Scope (Область видимости)

(одним файлом)
Свойство TProperty.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FScope (Область видимости) .

См. также
  • Класс TProperty (Свойства)


Свойство TProperty.WriteMember (Член класса для записи)

(одним файлом)
Свойство TProperty.WriteMember (Член класса для записи)
WriteMember: TWriteMember domain (Член класса для записи) .

Для чтения и записи свойства используется поле TProperty.FWriteMember (Член класса для записи) .

См. также
  • Класс TProperty (Свойства)


Функция TProperty.GetNextPos (Следующая позиция)

(одним файлом)
Функция TProperty.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Используется для инициализации значения параметра Position (Позиция) подпрограммы TProperty.Create (Конструктор свойства)
.

См. также
  • Класс TProperty (Свойства)


Класс TPropertyBan (Запрет на свойство)

(раздел целиком) (одним файлом)
Класс TPropertyBan (Запрет на свойство)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

  • Конструктор TPropertyBan.Create (Конструктор запрета на свойство)
  • Поле TPropertyBan.FAllowRead (Чтение разрешено)
  • Поле TPropertyBan.FBannedClass (Запрещенный класс)
  • Поле TPropertyBan.FBannedProperty (Запрещенное свойство)
  • Свойство TPropertyBan.AllowRead (Чтение разрешено)
  • Свойство TPropertyBan.BannedClass (Запрещаемый класс)
  • Свойство TPropertyBan.BannedProperty (Запрещаемое свойство)


Конструктор TPropertyBan.Create (Конструктор запрета на свойство)

(одним файлом)
Конструктор TPropertyBan.Create (Конструктор запрета на свойство)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |
BannedProperty (Запрещаемое свойство) | TBannedProperty domain (Свойство для запрета) |  | Доступен |
AllowRead (Чтение разрешено) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TPropertyBan (Запрет на свойство) .

См. также
  • Класс TPropertyBan (Запрет на свойство)


Поле TPropertyBan.FAllowRead (Чтение разрешено)

(одним файлом)
Поле TPropertyBan.FAllowRead (Чтение разрешено)
FAllowRead: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.AllowRead (Чтение разрешено)
.

См. также
  • Класс TPropertyBan (Запрет на свойство)
  • Свойство TPropertyBan.AllowRead (Чтение разрешено)


Поле TPropertyBan.FBannedClass (Запрещенный класс)

(одним файлом)
Поле TPropertyBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.BannedClass (Запрещаемый класс)
.

См. также
  • Класс TPropertyBan (Запрет на свойство)
  • Свойство TPropertyBan.BannedClass (Запрещаемый класс)


Поле TPropertyBan.FBannedProperty (Запрещенное свойство)

(одним файлом)
Поле TPropertyBan.FBannedProperty (Запрещенное свойство)
FBannedProperty: TBannedProperty domain (Свойство для запрета) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.BannedProperty (Запрещаемое свойство)
.

См. также
  • Класс TPropertyBan (Запрет на свойство)
  • Свойство TPropertyBan.BannedProperty (Запрещаемое свойство)


Свойство TPropertyBan.AllowRead (Чтение разрешено)

(одним файлом)
Свойство TPropertyBan.AllowRead (Чтение разрешено)
AllowRead: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TPropertyBan.FAllowRead (Чтение разрешено) .

См. также
  • Класс TPropertyBan (Запрет на свойство)


Свойство TPropertyBan.BannedClass (Запрещаемый класс)

(одним файлом)
Свойство TPropertyBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TPropertyBan.FBannedClass (Запрещенный класс) .

См. также
  • Класс TPropertyBan (Запрет на свойство)


Свойство TPropertyBan.BannedProperty (Запрещаемое свойство)

(одним файлом)
Свойство TPropertyBan.BannedProperty (Запрещаемое свойство)
BannedProperty: TBannedProperty domain (Свойство для запрета) (обязательно для заполнения) .

Для чтения значения свойства используется поле TPropertyBan.FBannedProperty (Запрещенное свойство) .

См. также
  • Класс TPropertyBan (Запрет на свойство)


Класс TRole (Роли)

(раздел целиком) (одним файлом)
Класс TRole (Роли)
Унаследован от класса TSecurityAccount (Роли безопасности) . Объекты могут включать в себя объекты классов:
  • TRoleMember (Пользователи в ролях)

  • Конструктор TRole.Create (Конструктор роли)
  • Свойство TRole.IsCurrent (Является текущей)
  • Функция TRole.GetIsCurrent (Является текущей)


Конструктор TRole.Create (Конструктор роли)

(одним файлом)
Конструктор TRole.Create (Конструктор роли)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TRole (Роли) .

См. также
  • Класс TRole (Роли)


Свойство TRole.IsCurrent (Является текущей)

(одним файлом)
Свойство TRole.IsCurrent (Является текущей)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TRole.GetIsCurrent (Является текущей) .

См. также
  • Класс TRole (Роли)


Функция TRole.GetIsCurrent (Является текущей)

(одним файлом)
Функция TRole.GetIsCurrent (Является текущей)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TRole.IsCurrent (Является текущей)
.

См. также
  • Класс TRole (Роли)


Класс TRoleMember (Пользователи в ролях)

(раздел целиком) (одним файлом)
Класс TRoleMember (Пользователи в ролях)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TRole (Роли) .

  • Конструктор TRoleMember.Create (Конструктор члена роли)
  • Поле TRoleMember.FIsPrimary (Основная роль)
  • Поле TRoleMember.FUser (Пользователь)
  • Процедура TRoleMember.SetIsPrimary (Установка значения свойства "Является основной")
  • Свойство TRoleMember.IsPrimary (Основная роль)
  • Свойство TRoleMember.User (Пользователь)
  • Свойство TRoleMember.UserClass (Класс члена роли)


Конструктор TRoleMember.Create (Конструктор члена роли)

(одним файлом)
Конструктор TRoleMember.Create (Конструктор члена роли)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Роль) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
User (Пользователь) | TUser required domain (Пользователь) |  | Доступен | User (Пользователь)
IsPrimary (Основная роль) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TRoleMember (Пользователи в ролях) .

См. также
  • Класс TRoleMember (Пользователи в ролях)


Поле TRoleMember.FIsPrimary (Основная роль)

(одним файлом)
Поле TRoleMember.FIsPrimary (Основная роль)
FIsPrimary: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoleMember.IsPrimary (Основная роль)
.

См. также
  • Класс TRoleMember (Пользователи в ролях)
  • Свойство TRoleMember.IsPrimary (Основная роль)


Поле TRoleMember.FUser (Пользователь)

(одним файлом)
Поле TRoleMember.FUser (Пользователь)
FUser: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TRoleMember.User (Пользователь)
.

См. также
  • Класс TRoleMember (Пользователи в ролях)
  • Свойство TRoleMember.User (Пользователь)


Процедура TRoleMember.SetIsPrimary (Установка значения свойства "Является основной")

(одним файлом)
Процедура TRoleMember.SetIsPrimary (Установка значения свойства "Является основной")

Этот раздел еще предстоит написать.


Свойство TRoleMember.IsPrimary (Основная роль)

(одним файлом)
Свойство TRoleMember.IsPrimary (Основная роль)
IsPrimary: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoleMember.FIsPrimary (Основная роль) .

См. также
  • Класс TRoleMember (Пользователи в ролях)


Свойство TRoleMember.User (Пользователь)

(одним файлом)
Свойство TRoleMember.User (Пользователь)
User: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoleMember.FUser (Пользователь) .

См. также
  • Класс TRoleMember (Пользователи в ролях)


Свойство TRoleMember.UserClass (Класс члена роли)

(одним файлом)
Свойство TRoleMember.UserClass (Класс члена роли)

Этот раздел еще предстоит написать.


Класс TRoutine (Подпрограмма)

(раздел целиком) (одним файлом)
Класс TRoutine (Подпрограмма)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) . Объекты могут включать в себя объекты классов:
  • TParameter (Параметры)

  • Конструктор TRoutine.Create (Конструктор подпрограммы)
  • Поле TRoutine.FConfirmation (Текст подтверждения)
  • Поле TRoutine.FDomain (Домен результата)
  • Поле TRoutine.FImage (Изображеие-иконка)
  • Поле TRoutine.FIsClassMethod (Является методом класса)
  • Поле TRoutine.FScope (Область видимости)
  • Поле TRoutine.FScript (Скрипт формы)
  • Поле TRoutine.FUseTabs (Использовать закладки)
  • Свойство TRoutine.Confirmation (Текст подтверждения)
  • Свойство TRoutine.Domain (Домен результата)
  • Свойство TRoutine.Image (Изображение-иконка)
  • Свойство TRoutine.IsClassMethod (Является методом класса)
  • Свойство TRoutine.ParamCount (Количество параметров)
  • Свойство TRoutine.Scope (Область видимости)
  • Свойство TRoutine.Script (Скрипт формы параметров)
  • Свойство TRoutine.UseTabs (Использовать закладки)
  • Функция TRoutine.GetParamCount (Количество параметров)


Конструктор TRoutine.Create (Конструктор подпрограммы)

(одним файлом)
Конструктор TRoutine.Create (Конструктор подпрограммы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) |  | Доступен |
Domain (Домен результата) | TDomain domain (Домен) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) |  | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) |  | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) |  | Доступен |
Image (Изображение-иконка) | TImage (Изображение) |  | Доступен |

Конструирует объект класса TRoutine (Подпрограмма) .

См. также
  • Класс TRoutine (Подпрограмма)


Поле TRoutine.FConfirmation (Текст подтверждения)

(одним файлом)
Поле TRoutine.FConfirmation (Текст подтверждения)
FConfirmation: TCaption (Заголовки) .

Используется для хранения значений свойства TRoutine.Confirmation (Текст подтверждения)
.

См. также
  • Класс TRoutine (Подпрограмма)
  • Свойство TRoutine.Confirmation (Текст подтверждения)


Поле TRoutine.FDomain (Домен результата)

(одним файлом)
Поле TRoutine.FDomain (Домен результата)
FDomain: TDomain domain (Домен) .

Используется для хранения значений свойства TRoutine.Domain (Домен результата)
.

См. также
  • Класс TRoutine (Подпрограмма)
  • Свойство TRoutine.Domain (Домен результата)


Поле TRoutine.FImage (Изображеие-иконка)

(одним файлом)
Поле TRoutine.FImage (Изображеие-иконка)
FImage: TImage (Изображение) .

Используется для хранения значений свойства TRoutine.Image (Изображение-иконка)
.

См. также
  • Класс TRoutine (Подпрограмма)
  • Свойство TRoutine.Image (Изображение-иконка)


Поле TRoutine.FIsClassMethod (Является методом класса)

(одним файлом)
Поле TRoutine.FIsClassMethod (Является методом класса)
FIsClassMethod: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.IsClassMethod (Является методом класса)
.

См. также
  • Класс TRoutine (Подпрограмма)
  • Свойство TRoutine.IsClassMethod (Является методом класса)


Поле TRoutine.FScope (Область видимости)

(одним файлом)
Поле TRoutine.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.Scope (Область видимости)
.

См. также
  • Класс TRoutine (Подпрограмма)
  • Свойство TRoutine.Scope (Область видимости)


Поле TRoutine.FScript (Скрипт формы)

(одним файлом)
Поле TRoutine.FScript (Скрипт формы)
FScript: TRoutineScript (Скрипты форм параметров) .

Используется для хранения значений свойства TRoutine.Script (Скрипт формы параметров)
.

См. также
  • Класс TRoutine (Подпрограмма)
  • Свойство TRoutine.Script (Скрипт формы параметров)


Поле TRoutine.FUseTabs (Использовать закладки)

(одним файлом)
Поле TRoutine.FUseTabs (Использовать закладки)
FUseTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.UseTabs (Использовать закладки)
.

См. также
  • Класс TRoutine (Подпрограмма)
  • Свойство TRoutine.UseTabs (Использовать закладки)


Свойство TRoutine.Confirmation (Текст подтверждения)

(одним файлом)
Свойство TRoutine.Confirmation (Текст подтверждения)
Confirmation: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TRoutine.FConfirmation (Текст подтверждения) .

См. также
  • Класс TRoutine (Подпрограмма)


Свойство TRoutine.Domain (Домен результата)

(одним файлом)
Свойство TRoutine.Domain (Домен результата)
Domain: TDomain domain (Домен) .

Для чтения и записи свойства используется поле TRoutine.FDomain (Домен результата) .

См. также
  • Класс TRoutine (Подпрограмма)


Свойство TRoutine.Image (Изображение-иконка)

(одним файлом)
Свойство TRoutine.Image (Изображение-иконка)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TRoutine.FImage (Изображеие-иконка) .

См. также
  • Класс TRoutine (Подпрограмма)


Свойство TRoutine.IsClassMethod (Является методом класса)

(одним файлом)
Свойство TRoutine.IsClassMethod (Является методом класса)
IsClassMethod: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FIsClassMethod (Является методом класса) .

См. также
  • Класс TRoutine (Подпрограмма)


Свойство TRoutine.ParamCount (Количество параметров)

(одним файлом)
Свойство TRoutine.ParamCount (Количество параметров)
ParamCount: Integer (Целое) .

Для чтения значения свойства используется функция TRoutine.GetParamCount (Количество параметров) .

См. также
  • Класс TRoutine (Подпрограмма)


Свойство TRoutine.Scope (Область видимости)

(одним файлом)
Свойство TRoutine.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FScope (Область видимости) .

См. также
  • Класс TRoutine (Подпрограмма)


Свойство TRoutine.Script (Скрипт формы параметров)

(одним файлом)
Свойство TRoutine.Script (Скрипт формы параметров)
Script: TRoutineScript (Скрипты форм параметров) .

Для чтения и записи свойства используется поле TRoutine.FScript (Скрипт формы) .

См. также
  • Класс TRoutine (Подпрограмма)


Свойство TRoutine.UseTabs (Использовать закладки)

(одним файлом)
Свойство TRoutine.UseTabs (Использовать закладки)
UseTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FUseTabs (Использовать закладки) .

См. также
  • Класс TRoutine (Подпрограмма)


Функция TRoutine.GetParamCount (Количество параметров)

(одним файлом)
Функция TRoutine.GetParamCount (Количество параметров)

Возвращает значение типа Integer (Целое) .

Используется для вычисления значений свойства TRoutine.ParamCount (Количество параметров)
.

См. также
  • Класс TRoutine (Подпрограмма)


Класс TRoutineAction (Программируемое действие)

(раздел целиком) (одним файлом)
Класс TRoutineAction (Программируемое действие)
Унаследован от класса TAction (Действия) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

  • Конструктор TRoutineAction.Create (Конструктор программируемого действия)
  • Поле TRoutineAction.FRoutine (Подпрограмма)
  • Свойство TRoutineAction.Routine (Подпрограмма)


Конструктор TRoutineAction.Create (Конструктор программируемого действия)

(одним файлом)
Конструктор TRoutineAction.Create (Конструктор программируемого действия)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) | Унаследован | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) | Унаследован | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) | Унаследован | Доступен |
Routine (Реализовано посредством ) | TActionRoutine required domain (Метод действия) |  | Доступен |

Конструирует объект класса TRoutineAction (Программируемое действие) .

См. также
  • Класс TRoutineAction (Программируемое действие)


Поле TRoutineAction.FRoutine (Подпрограмма)

(одним файлом)
Поле TRoutineAction.FRoutine (Подпрограмма)
FRoutine: TActionRoutine required domain (Метод действия) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineAction.Routine (Подпрограмма)
.

См. также
  • Класс TRoutineAction (Программируемое действие)
  • Свойство TRoutineAction.Routine (Подпрограмма)


Свойство TRoutineAction.Routine (Подпрограмма)

(одним файлом)
Свойство TRoutineAction.Routine (Подпрограмма)
Routine: TActionRoutine required domain (Метод действия) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutineAction.FRoutine (Подпрограмма) .

См. также
  • Класс TRoutineAction (Программируемое действие)


Класс TRoutineBan (Запрет на подпрограмму)

(раздел целиком) (одним файлом)
Класс TRoutineBan (Запрет на подпрограмму)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

  • Конструктор TRoutineBan.Create (Конструктор запрета на подпрограмму)
  • Поле TRoutineBan.FBannedClass (Запрещенный класс)
  • Поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма)
  • Свойство TRoutineBan.BannedClass (Запрещаемый класс)
  • Свойство TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)


Конструктор TRoutineBan.Create (Конструктор запрета на подпрограмму)

(одним файлом)
Конструктор TRoutineBan.Create (Конструктор запрета на подпрограмму)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |
BannedRoutine (Запрещаемая подпрограмма) | TBannedRoutine domain (Подпрограмма для запрета) |  | Доступен |

Конструирует объект класса TRoutineBan (Запрет на подпрограмму) .

См. также
  • Класс TRoutineBan (Запрет на подпрограмму)


Поле TRoutineBan.FBannedClass (Запрещенный класс)

(одним файлом)
Поле TRoutineBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineBan.BannedClass (Запрещаемый класс)
.

См. также
  • Класс TRoutineBan (Запрет на подпрограмму)
  • Свойство TRoutineBan.BannedClass (Запрещаемый класс)


Поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма)

(одним файлом)
Поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма)
FBannedRoutine: TBannedRoutine domain (Подпрограмма для запрета) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)
.

См. также
  • Класс TRoutineBan (Запрет на подпрограмму)
  • Свойство TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)


Свойство TRoutineBan.BannedClass (Запрещаемый класс)

(одним файлом)
Свойство TRoutineBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TRoutineBan.FBannedClass (Запрещенный класс) .

См. также
  • Класс TRoutineBan (Запрет на подпрограмму)


Свойство TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)

(одним файлом)
Свойство TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)
BannedRoutine: TBannedRoutine domain (Подпрограмма для запрета) (обязательно для заполнения) .

Для чтения значения свойства используется поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма) .

См. также
  • Класс TRoutineBan (Запрет на подпрограмму)


Класс TSecurityAccount (Роли безопасности)

(одним файлом)
Класс TSecurityAccount (Роли безопасности)
Унаследован от класса TObject (Объекты) .


Класс TStringDomain (Строковые)

(раздел целиком) (одним файлом)
Класс TStringDomain (Строковые)
Унаследован от класса TDomain (Домены) .

  • Конструктор TStringDomain.Create (Конструктор строкового домена)
  • Поле TStringDomain.FLength (Максимальная длина)
  • Свойство TStringDomain.Length (Длина)


Конструктор TStringDomain.Create (Конструктор строкового домена)

(одним файлом)
Конструктор TStringDomain.Create (Конструктор строкового домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) |  | Доступен |

Конструирует объект класса TStringDomain (Строковые) .

См. также
  • Класс TStringDomain (Строковые)


Поле TStringDomain.FLength (Максимальная длина)

(одним файлом)
Поле TStringDomain.FLength (Максимальная длина)
FLength: TLength (Длина) (обязательно для заполнения) .

Используется для хранения значений свойства TStringDomain.Length (Длина)
.

См. также
  • Класс TStringDomain (Строковые)
  • Свойство TStringDomain.Length (Длина)


Свойство TStringDomain.Length (Длина)

(одним файлом)
Свойство TStringDomain.Length (Длина)
Length: TLength (Длина) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TStringDomain.FLength (Максимальная длина) .

См. также
  • Класс TStringDomain (Строковые)


Класс TTimeDomain (Время)

(раздел целиком) (одним файлом)
Класс TTimeDomain (Время)
Унаследован от класса TDomain (Домены) .

  • Конструктор TTimeDomain.Create (Конструктор домена времени)


Конструктор TTimeDomain.Create (Конструктор домена времени)

(одним файлом)
Конструктор TTimeDomain.Create (Конструктор домена времени)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TTimeDomain (Время) .

См. также
  • Класс TTimeDomain (Время)


Класс TUser (Пользователи)

(раздел целиком) (одним файлом)
Класс TUser (Пользователи)
Унаследован от класса TSecurityAccount (Роли безопасности) .

  • Конструктор TUser.Create (Конструктор пользователя)
  • Поле TUser.FAccessMode (Режим доступа)
  • Свойство TUser.AccessMode (Режим доступа)
  • Свойство TUser.IsCurrent (Является текущим)
  • Функция TUser.GetIsCurrent (Является текущим)


Конструктор TUser.Create (Конструктор пользователя)

(одним файлом)
Конструктор TUser.Create (Конструктор пользователя)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TUser (Пользователи) .

См. также
  • Класс TUser (Пользователи)


Поле TUser.FAccessMode (Режим доступа)

(одним файлом)
Поле TUser.FAccessMode (Режим доступа)

Этот раздел еще предстоит написать.


Свойство TUser.AccessMode (Режим доступа)

(одним файлом)
Свойство TUser.AccessMode (Режим доступа)

Этот раздел еще предстоит написать.


Свойство TUser.IsCurrent (Является текущим)

(одним файлом)
Свойство TUser.IsCurrent (Является текущим)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

См. также
  • Класс TUser (Пользователи)


Функция TUser.GetIsCurrent (Является текущим)

(одним файлом)
Функция TUser.GetIsCurrent (Является текущим)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойств:
TUser.IsCurrent (Является текущим)
TOptionValue.IsCurrent (Является текущим)
TInstantMessage.IsCurrent (Текущему пользователю)
.

См. также
  • Класс TUser (Пользователи)


Класс TView (Представления)

(раздел целиком) (одним файлом)
Класс TView (Представления)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TAction (Действия)
  • TViewColumn (Колонки представлений)
  • TRoutineAction (Программируемое действие)
  • TViewAction (Действие-представление)

  • Конструктор TView.Create (Конструктор представления)
  • Поле TView.FCollapsed (Свернуто)
  • Поле TView.FColorProperty (Свойство цвета)
  • Поле TView.FShownClass (Класс для показа)
  • Процедура TView.BuildDefaultActions (Создать действия по умолчанию)
  • Процедура TView.BuildDefaultColumns (Создать колонки по умолчанию)
  • Свойство TView.Collapsed (Свернуть)
  • Свойство TView.ColorProperty (Свойство цвета)
  • Свойство TView.ShownClass (Класс)
  • Свойство TView.ShownClassMasterClass (Класс-мастер показываемого)
  • Свойство TView.ShownClassReplicationStatus (Статус репликации класса)


Конструктор TView.Create (Конструктор представления)

(одним файлом)
Конструктор TView.Create (Конструктор представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
ShownClass (Класс) | TClass required domain (Класс (обязательно)) |  | Доступен |
ColorProperty (Свойство цвета) | TColorProperty domain (Домен свойства цвета) |  | Доступен |
Collapsed (Свернуто) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TView (Представления) .

См. также
  • Класс TView (Представления)


Поле TView.FCollapsed (Свернуто)

(одним файлом)
Поле TView.FCollapsed (Свернуто)
FCollapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TView.Collapsed (Свернуть)
TFormView.Collapsed (Узлы свернуты)
.

См. также
  • Класс TView (Представления)
  • Свойство TView.Collapsed (Свернуть)
  • Свойство TFormView.Collapsed (Узлы свернуты)


Поле TView.FColorProperty (Свойство цвета)

(одним файлом)
Поле TView.FColorProperty (Свойство цвета)
FColorProperty: TColorProperty domain (Домен свойства цвета) .

Используется для хранения значений свойств:
TView.ColorProperty (Свойство цвета)
TFormView.ColorProperty (Свойство-цвет)
.

См. также
  • Класс TView (Представления)
  • Свойство TView.ColorProperty (Свойство цвета)
  • Свойство TFormView.ColorProperty (Свойство-цвет)


Поле TView.FShownClass (Класс для показа)

(одним файлом)
Поле TView.FShownClass (Класс для показа)
FShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TView.ShownClass (Класс)
TFormView.ShownClass (Показываемый класс)
TViewAction.ShownClass (Показываемый класс)
.

См. также
  • Класс TView (Представления)
  • Свойство TView.ShownClass (Класс)
  • Свойство TFormView.ShownClass (Показываемый класс)
  • Свойство TViewAction.ShownClass (Показываемый класс)


Процедура TView.BuildDefaultActions (Создать действия по умолчанию)

(одним файлом)
Процедура TView.BuildDefaultActions (Создать действия по умолчанию)

См. также
  • Класс TView (Представления)


Процедура TView.BuildDefaultColumns (Создать колонки по умолчанию)

(одним файлом)
Процедура TView.BuildDefaultColumns (Создать колонки по умолчанию)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ParentProperty (Родительское свойство) | TColumnProperty domain (Свойство колонки) |  | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ParentProperty (Родительское свойство) | TColumnProperty domain (Свойство колонки) |  | Скрыт |

См. также
  • Класс TView (Представления)


Свойство TView.Collapsed (Свернуть)

(одним файлом)
Свойство TView.Collapsed (Свернуть)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FCollapsed (Свернуто) .

См. также
  • Класс TView (Представления)


Свойство TView.ColorProperty (Свойство цвета)

(одним файлом)
Свойство TView.ColorProperty (Свойство цвета)
ColorProperty: TColorProperty domain (Домен свойства цвета) .

Для чтения и записи свойства используется поле TView.FColorProperty (Свойство цвета) .

См. также
  • Класс TView (Представления)


Свойство TView.ShownClass (Класс)

(одним файлом)
Свойство TView.ShownClass (Класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FShownClass (Класс для показа) .

См. также
  • Класс TView (Представления)


Свойство TView.ShownClassMasterClass (Класс-мастер показываемого)

(одним файлом)
Свойство TView.ShownClassMasterClass (Класс-мастер показываемого)
ShownClassMasterClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TClass.FMasterClass (Класс-мастер) .

Дочернее свойство свойства ShownClass (Класс) .

См. также
  • Класс TView (Представления)


Свойство TView.ShownClassReplicationStatus (Статус репликации класса)

(одним файлом)
Свойство TView.ShownClassReplicationStatus (Статус репликации класса)
ShownClassReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

Дочернее свойство свойства ShownClass (Класс) .

См. также
  • Класс TView (Представления)


Класс TViewAction (Действие-представление)

(раздел целиком) (одним файлом)
Класс TViewAction (Действие-представление)
Унаследован от класса TAction (Действия) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

  • Конструктор TViewAction.Create (Конструктор действия-представления)
  • Поле TViewAction.FDetailProperty (Свойство-подчиненное)
  • Поле TViewAction.FMasterProperty (Свойство-главное)
  • Поле TViewAction.FView (Представление)
  • Свойство TViewAction.DetailProperty (Свойство-подчиненное)
  • Свойство TViewAction.MasterProperty (Свойство-главное)
  • Свойство TViewAction.ShownClass (Показываемый класс)
  • Свойство TViewAction.View (Представление)


Конструктор TViewAction.Create (Конструктор действия-представления)

(одним файлом)
Конструктор TViewAction.Create (Конструктор действия-представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) | Унаследован | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) | Унаследован | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) | Унаследован | Доступен |
View (Представление) | TView of FormView domain (Представление для формы) |  | Доступен |
MasterProperty (Свойство-главное) | TMasterProperty domain (Свойство-главное) |  | Доступен |
DetailProperty (Свойство-подчиненное) | TDetailProperty domain (Свойство-подчиненное) |  | Доступен |

Конструирует объект класса TViewAction (Действие-представление) .

См. также
  • Класс TViewAction (Действие-представление)


Поле TViewAction.FDetailProperty (Свойство-подчиненное)

(одним файлом)
Поле TViewAction.FDetailProperty (Свойство-подчиненное)
FDetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Используется для хранения значений свойства TViewAction.DetailProperty (Свойство-подчиненное)
.

См. также
  • Класс TViewAction (Действие-представление)
  • Свойство TViewAction.DetailProperty (Свойство-подчиненное)


Поле TViewAction.FMasterProperty (Свойство-главное)

(одним файлом)
Поле TViewAction.FMasterProperty (Свойство-главное)
FMasterProperty: TMasterProperty domain (Свойство-главное) .

Используется для хранения значений свойства TViewAction.MasterProperty (Свойство-главное)
.

См. также
  • Класс TViewAction (Действие-представление)
  • Свойство TViewAction.MasterProperty (Свойство-главное)


Поле TViewAction.FView (Представление)

(одним файлом)
Поле TViewAction.FView (Представление)
FView: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Используется для хранения значений свойства TViewAction.View (Представление)
.

См. также
  • Класс TViewAction (Действие-представление)
  • Свойство TViewAction.View (Представление)


Свойство TViewAction.DetailProperty (Свойство-подчиненное)

(одним файлом)
Свойство TViewAction.DetailProperty (Свойство-подчиненное)
DetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Для чтения и записи свойства используется поле TViewAction.FDetailProperty (Свойство-подчиненное) .

См. также
  • Класс TViewAction (Действие-представление)


Свойство TViewAction.MasterProperty (Свойство-главное)

(одним файлом)
Свойство TViewAction.MasterProperty (Свойство-главное)
MasterProperty: TMasterProperty domain (Свойство-главное) .

Для чтения и записи свойства используется поле TViewAction.FMasterProperty (Свойство-главное) .

См. также
  • Класс TViewAction (Действие-представление)


Свойство TViewAction.ShownClass (Показываемый класс)

(одним файлом)
Свойство TViewAction.ShownClass (Показываемый класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TView.FShownClass (Класс для показа) .

Дочернее свойство свойства View (Представление) .

См. также
  • Класс TViewAction (Действие-представление)


Свойство TViewAction.View (Представление)

(одним файлом)
Свойство TViewAction.View (Представление)
View: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewAction.FView (Представление) .

См. также
  • Класс TViewAction (Действие-представление)


Класс TViewColumn (Колонки представлений)

(раздел целиком) (одним файлом)
Класс TViewColumn (Колонки представлений)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TView (Представления) .

  • Конструктор TViewColumn.Create (Конструктор колонки представления)
  • Поле TViewColumn.FAggregate (Агрегат)
  • Поле TViewColumn.FFilter (Фильтр)
  • Поле TViewColumn.FFixed (Зафиксирована)
  • Поле TViewColumn.FForceReadOnly (Только для чтения)
  • Поле TViewColumn.FGrouped (Группировать)
  • Поле TViewColumn.FIsFilterHidden (Фильтр скрыт)
  • Поле TViewColumn.FPosition (Позиция)
  • Поле TViewColumn.FProperty (Свойство)
  • Поле TViewColumn.FSortDirection (Направление сортировки)
  • Поле TViewColumn.FWidth (Ширина)
  • Свойство TViewColumn.Aggregate (Агрегат)
  • Свойство TViewColumn.Filter (Фильтр)
  • Свойство TViewColumn.Fixed (Зафиксирована)
  • Свойство TViewColumn.ForceReadOnly (Только для чтения)
  • Свойство TViewColumn.Grouped (Группировать)
  • Свойство TViewColumn.IsFilterHidden (Фильтр скрыт)
  • Свойство TViewColumn.Position (Позиция)
  • Свойство TViewColumn.Property (Свойство)
  • Свойство TViewColumn.SortDirection (Направление сортировки)
  • Свойство TViewColumn.Width (Ширина)
  • Функция TViewColumn.GetNextPos (Следующая позиция)


Конструктор TViewColumn.Create (Конструктор колонки представления)

(одним файлом)
Конструктор TViewColumn.Create (Конструктор колонки представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Property (Свойство) | TColumnProperty domain (Свойство колонки) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Grouped (Группировать) | Boolean (Обычное логическое) |  | Доступен |
Aggregate (Агрегат) | TAggregateKind (Тип агрегата) |  | Доступен |
SortDirection (Направление сортировки) | TSortDirection (Направление сортировки) |  | Доступен |
Fixed (Зафиксирована) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TViewColumn (Колонки представлений) .

См. также
  • Класс TViewColumn (Колонки представлений)


Поле TViewColumn.FAggregate (Агрегат)

(одним файлом)
Поле TViewColumn.FAggregate (Агрегат)
FAggregate: TAggregateKind (Тип агрегата) .

Используется для хранения значений свойства TViewColumn.Aggregate (Агрегат)
.

См. также
  • Класс TViewColumn (Колонки представлений)
  • Свойство TViewColumn.Aggregate (Агрегат)


Поле TViewColumn.FFilter (Фильтр)

(одним файлом)
Поле TViewColumn.FFilter (Фильтр)
FFilter: TCaption (Заголовки) .

Используется для хранения значений свойства TViewColumn.Filter (Фильтр)
.

См. также
  • Класс TViewColumn (Колонки представлений)
  • Свойство TViewColumn.Filter (Фильтр)


Поле TViewColumn.FFixed (Зафиксирована)

(одним файлом)
Поле TViewColumn.FFixed (Зафиксирована)
FFixed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Fixed (Зафиксирована)
.

См. также
  • Класс TViewColumn (Колонки представлений)
  • Свойство TViewColumn.Fixed (Зафиксирована)


Поле TViewColumn.FForceReadOnly (Только для чтения)

(одним файлом)
Поле TViewColumn.FForceReadOnly (Только для чтения)
FForceReadOnly: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.ForceReadOnly (Только для чтения)
.

См. также
  • Класс TViewColumn (Колонки представлений)
  • Свойство TViewColumn.ForceReadOnly (Только для чтения)


Поле TViewColumn.FGrouped (Группировать)

(одним файлом)
Поле TViewColumn.FGrouped (Группировать)
FGrouped: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Grouped (Группировать)
.

См. также
  • Класс TViewColumn (Колонки представлений)
  • Свойство TViewColumn.Grouped (Группировать)


Поле TViewColumn.FIsFilterHidden (Фильтр скрыт)

(одним файлом)
Поле TViewColumn.FIsFilterHidden (Фильтр скрыт)

Этот раздел еще предстоит написать.


Поле TViewColumn.FPosition (Позиция)

(одним файлом)
Поле TViewColumn.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Position (Позиция)
.

См. также
  • Класс TViewColumn (Колонки представлений)
  • Свойство TViewColumn.Position (Позиция)


Поле TViewColumn.FProperty (Свойство)

(одним файлом)
Поле TViewColumn.FProperty (Свойство)
FProperty: TColumnProperty domain (Свойство колонки) .

Используется для хранения значений свойства TViewColumn.Property (Свойство)
.

См. также
  • Класс TViewColumn (Колонки представлений)
  • Свойство TViewColumn.Property (Свойство)


Поле TViewColumn.FSortDirection (Направление сортировки)

(одним файлом)
Поле TViewColumn.FSortDirection (Направление сортировки)
FSortDirection: TSortDirection (Направление сортировки) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.SortDirection (Направление сортировки)
.

См. также
  • Класс TViewColumn (Колонки представлений)
  • Свойство TViewColumn.SortDirection (Направление сортировки)


Поле TViewColumn.FWidth (Ширина)

(одним файлом)
Поле TViewColumn.FWidth (Ширина)
FWidth: TWidth (Ширина) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Width (Ширина)
.

См. также
  • Класс TViewColumn (Колонки представлений)
  • Свойство TViewColumn.Width (Ширина)


Свойство TViewColumn.Aggregate (Агрегат)

(одним файлом)
Свойство TViewColumn.Aggregate (Агрегат)
Aggregate: TAggregateKind (Тип агрегата) .

Для чтения и записи свойства используется поле TViewColumn.FAggregate (Агрегат) .

См. также
  • Класс TViewColumn (Колонки представлений)


Свойство TViewColumn.Filter (Фильтр)

(одним файлом)
Свойство TViewColumn.Filter (Фильтр)
Filter: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TViewColumn.FFilter (Фильтр) .

См. также
  • Класс TViewColumn (Колонки представлений)


Свойство TViewColumn.Fixed (Зафиксирована)

(одним файлом)
Свойство TViewColumn.Fixed (Зафиксирована)
Fixed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FFixed (Зафиксирована) .

См. также
  • Класс TViewColumn (Колонки представлений)


Свойство TViewColumn.ForceReadOnly (Только для чтения)

(одним файлом)
Свойство TViewColumn.ForceReadOnly (Только для чтения)
ForceReadOnly: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FForceReadOnly (Только для чтения) .

См. также
  • Класс TViewColumn (Колонки представлений)


Свойство TViewColumn.Grouped (Группировать)

(одним файлом)
Свойство TViewColumn.Grouped (Группировать)
Grouped: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FGrouped (Группировать) .

См. также
  • Класс TViewColumn (Колонки представлений)


Свойство TViewColumn.IsFilterHidden (Фильтр скрыт)

(одним файлом)
Свойство TViewColumn.IsFilterHidden (Фильтр скрыт)

Этот раздел еще предстоит написать.


Свойство TViewColumn.Position (Позиция)

(одним файлом)
Свойство TViewColumn.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FPosition (Позиция) .

См. также
  • Класс TViewColumn (Колонки представлений)


Свойство TViewColumn.Property (Свойство)

(одним файлом)
Свойство TViewColumn.Property (Свойство)
Property: TColumnProperty domain (Свойство колонки) .

Для чтения и записи свойства используется поле TViewColumn.FProperty (Свойство) .

См. также
  • Класс TViewColumn (Колонки представлений)


Свойство TViewColumn.SortDirection (Направление сортировки)

(одним файлом)
Свойство TViewColumn.SortDirection (Направление сортировки)
SortDirection: TSortDirection (Направление сортировки) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FSortDirection (Направление сортировки) .

См. также
  • Класс TViewColumn (Колонки представлений)


Свойство TViewColumn.Width (Ширина)

(одним файлом)
Свойство TViewColumn.Width (Ширина)
Width: TWidth (Ширина) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FWidth (Ширина) .

См. также
  • Класс TViewColumn (Колонки представлений)


Функция TViewColumn.GetNextPos (Следующая позиция)

(одним файлом)
Функция TViewColumn.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TViewColumn.Create (Конструктор колонки представления)
.

См. также
  • Класс TViewColumn (Колонки представлений)


Класс TVisualGroup (Визуальные группы)

(раздел целиком) (одним файлом)
Класс TVisualGroup (Визуальные группы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты могут включать в себя объекты классов:
  • TVisualGroupItem (Элемент визуальной группы)
  • TVisualGroupForm (Форма визуальной граппы)
  • TVisualGroupAccess (Доступ к визуальным группам)
  • TVisualGroupRoutine (Подпрограмма визуальной группы)

  • Конструктор TVisualGroup.Create (Конструктор визуальной группы)
  • Поле TVisualGroup.FCollapsed (Свернута)
  • Поле TVisualGroup.FImage (Изображение)
  • Поле TVisualGroup.FPosition (Позиция)
  • Поле TVisualGroup.FScope (Область видимости)
  • Свойство TVisualGroup.Collapsed (Свернута)
  • Свойство TVisualGroup.Image (Изображение)
  • Свойство TVisualGroup.IsAccessible (Доступна)
  • Свойство TVisualGroup.Position (Позиция)
  • Свойство TVisualGroup.Scope (Область видимости)
  • Функция TVisualGroup.GetIsAccessible (Доступна)
  • Функция TVisualGroup.GetNextPos (Следующая позиция)


Конструктор TVisualGroup.Create (Конструктор визуальной группы)

(одним файлом)
Конструктор TVisualGroup.Create (Конструктор визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Image (Изображение) | TImage (Изображение) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Collapsed (Свернута) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TVisualGroup (Визуальные группы) .

См. также
  • Класс TVisualGroup (Визуальные группы)


Поле TVisualGroup.FCollapsed (Свернута)

(одним файлом)
Поле TVisualGroup.FCollapsed (Свернута)
FCollapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Collapsed (Свернута)
.

См. также
  • Класс TVisualGroup (Визуальные группы)
  • Свойство TVisualGroup.Collapsed (Свернута)


Поле TVisualGroup.FImage (Изображение)

(одним файлом)
Поле TVisualGroup.FImage (Изображение)
FImage: TImage (Изображение) .

Используется для хранения значений свойства TVisualGroup.Image (Изображение)
.

См. также
  • Класс TVisualGroup (Визуальные группы)
  • Свойство TVisualGroup.Image (Изображение)


Поле TVisualGroup.FPosition (Позиция)

(одним файлом)
Поле TVisualGroup.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Position (Позиция)
.

См. также
  • Класс TVisualGroup (Визуальные группы)
  • Свойство TVisualGroup.Position (Позиция)


Поле TVisualGroup.FScope (Область видимости)

(одним файлом)
Поле TVisualGroup.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Scope (Область видимости)
.

См. также
  • Класс TVisualGroup (Визуальные группы)
  • Свойство TVisualGroup.Scope (Область видимости)


Свойство TVisualGroup.Collapsed (Свернута)

(одним файлом)
Свойство TVisualGroup.Collapsed (Свернута)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FCollapsed (Свернута) .

См. также
  • Класс TVisualGroup (Визуальные группы)


Свойство TVisualGroup.Image (Изображение)

(одним файлом)
Свойство TVisualGroup.Image (Изображение)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TVisualGroup.FImage (Изображение) .

См. также
  • Класс TVisualGroup (Визуальные группы)


Свойство TVisualGroup.IsAccessible (Доступна)

(одним файлом)
Свойство TVisualGroup.IsAccessible (Доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TVisualGroup.GetIsAccessible (Доступна) .

См. также
  • Класс TVisualGroup (Визуальные группы)


Свойство TVisualGroup.Position (Позиция)

(одним файлом)
Свойство TVisualGroup.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FPosition (Позиция) .

См. также
  • Класс TVisualGroup (Визуальные группы)


Свойство TVisualGroup.Scope (Область видимости)

(одним файлом)
Свойство TVisualGroup.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FScope (Область видимости) .

См. также
  • Класс TVisualGroup (Визуальные группы)


Функция TVisualGroup.GetIsAccessible (Доступна)

(одним файлом)
Функция TVisualGroup.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TVisualGroup.IsAccessible (Доступна)
.

См. также
  • Класс TVisualGroup (Визуальные группы)


Функция TVisualGroup.GetNextPos (Следующая позиция)

(одним файлом)
Функция TVisualGroup.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TVisualGroup.Create (Конструктор визуальной группы)
.

См. также
  • Класс TVisualGroup (Визуальные группы)


Класс TVisualGroupAccess (Доступ к визуальным группам)

(раздел целиком) (одним файлом)
Класс TVisualGroupAccess (Доступ к визуальным группам)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

  • Конструктор TVisualGroupAccess.Create (Конструктор доступа к визуальной группе)


Конструктор TVisualGroupAccess.Create (Конструктор доступа к визуальной группе)

(одним файлом)
Конструктор TVisualGroupAccess.Create (Конструктор доступа к визуальной группе)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Группа доступа) | TVisualGroup required domain (Визуальная группа (обязательно)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TVisualGroupAccess (Доступ к визуальным группам) .

См. также
  • Класс TVisualGroupAccess (Доступ к визуальным группам)


Класс TVisualGroupForm (Форма визуальной граппы)

(раздел целиком) (одним файлом)
Класс TVisualGroupForm (Форма визуальной граппы)
Унаследован от класса TVisualGroupItem (Элемент визуальной группы) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

  • Конструктор TVisualGroupForm.Create (Конструктор формы визуальной группы)
  • Поле TVisualGroupForm.FForm (Форма)
  • Свойство TVisualGroupForm.Form (Форма)
  • Свойство TVisualGroupForm.Image (Изображение)


Конструктор TVisualGroupForm.Create (Конструктор формы визуальной группы)

(одним файлом)
Конструктор TVisualGroupForm.Create (Конструктор формы визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) | Унаследован | Доступен |
Form (Форма) | TForm required domain (Форма (обязательно)) |  | Доступен |

Конструирует объект класса TVisualGroupForm (Форма визуальной граппы) .

См. также
  • Класс TVisualGroupForm (Форма визуальной граппы)


Поле TVisualGroupForm.FForm (Форма)

(одним файлом)
Поле TVisualGroupForm.FForm (Форма)
FForm: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupForm.Form (Форма)
.

См. также
  • Класс TVisualGroupForm (Форма визуальной граппы)
  • Свойство TVisualGroupForm.Form (Форма)


Свойство TVisualGroupForm.Form (Форма)

(одним файлом)
Свойство TVisualGroupForm.Form (Форма)
Form: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupForm.FForm (Форма) .

См. также
  • Класс TVisualGroupForm (Форма визуальной граппы)


Свойство TVisualGroupForm.Image (Изображение)

(одним файлом)
Свойство TVisualGroupForm.Image (Изображение)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TForm.FImage (Изображеие-иконка) .

Дочернее свойство свойства Form (Форма) .

См. также
  • Класс TVisualGroupForm (Форма визуальной граппы)


Класс TVisualGroupItem (Элемент визуальной группы)

(раздел целиком) (одним файлом)
Класс TVisualGroupItem (Элемент визуальной группы)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

  • Конструктор TVisualGroupItem.Create (Конструктор элемента визуальной группы)
  • Поле TVisualGroupItem.FComment (Комментарий)
  • Поле TVisualGroupItem.FPosition (Позиция)
  • Свойство TVisualGroupItem.Comment (Комментарий)
  • Свойство TVisualGroupItem.Position (Позиция)
  • Функция TVisualGroupItem.GetNextPos (Следующая позиция)


Конструктор TVisualGroupItem.Create (Конструктор элемента визуальной группы)

(одним файлом)
Конструктор TVisualGroupItem.Create (Конструктор элемента визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) |  | Доступен |

Конструирует объект класса TVisualGroupItem (Элемент визуальной группы) .

См. также
  • Класс TVisualGroupItem (Элемент визуальной группы)


Поле TVisualGroupItem.FComment (Комментарий)

(одним файлом)
Поле TVisualGroupItem.FComment (Комментарий)
FComment: TComment (Текстовый комментарий) .

Используется для хранения значений свойства TVisualGroupItem.Comment (Комментарий)
.

См. также
  • Класс TVisualGroupItem (Элемент визуальной группы)
  • Свойство TVisualGroupItem.Comment (Комментарий)


Поле TVisualGroupItem.FPosition (Позиция)

(одним файлом)
Поле TVisualGroupItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupItem.Position (Позиция)
.

См. также
  • Класс TVisualGroupItem (Элемент визуальной группы)
  • Свойство TVisualGroupItem.Position (Позиция)


Свойство TVisualGroupItem.Comment (Комментарий)

(одним файлом)
Свойство TVisualGroupItem.Comment (Комментарий)
Comment: TComment (Текстовый комментарий) .

Для чтения и записи свойства используется поле TVisualGroupItem.FComment (Комментарий) .

См. также
  • Класс TVisualGroupItem (Элемент визуальной группы)


Свойство TVisualGroupItem.Position (Позиция)

(одним файлом)
Свойство TVisualGroupItem.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupItem.FPosition (Позиция) .

См. также
  • Класс TVisualGroupItem (Элемент визуальной группы)


Функция TVisualGroupItem.GetNextPos (Следующая позиция)

(одним файлом)
Функция TVisualGroupItem.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TVisualGroupItem.Create (Конструктор элемента визуальной группы)
.

См. также
  • Класс TVisualGroupItem (Элемент визуальной группы)


Класс TVisualGroupRoutine (Подпрограмма визуальной группы)

(раздел целиком) (одним файлом)
Класс TVisualGroupRoutine (Подпрограмма визуальной группы)
Унаследован от класса TVisualGroupItem (Элемент визуальной группы) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

  • Конструктор TVisualGroupRoutine.Create (Конструктор подпрограммы визуальной группы)
  • Поле TVisualGroupRoutine.FRoutine (Подпрограмма)
  • Свойство TVisualGroupRoutine.Routine (Подпрограмма)


Конструктор TVisualGroupRoutine.Create (Конструктор подпрограммы визуальной группы)

(одним файлом)
Конструктор TVisualGroupRoutine.Create (Конструктор подпрограммы визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) | Унаследован | Доступен |
Routine (Подпрограмма) | TVisualGroup routine domain (Подпрограмма визуальной группы) |  | Доступен |

Конструирует объект класса TVisualGroupRoutine (Подпрограмма визуальной группы) .

См. также
  • Класс TVisualGroupRoutine (Подпрограмма визуальной группы)


Поле TVisualGroupRoutine.FRoutine (Подпрограмма)

(одним файлом)
Поле TVisualGroupRoutine.FRoutine (Подпрограмма)
FRoutine: TVisualGroup routine domain (Подпрограмма визуальной группы) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupRoutine.Routine (Подпрограмма)
.

См. также
  • Класс TVisualGroupRoutine (Подпрограмма визуальной группы)
  • Свойство TVisualGroupRoutine.Routine (Подпрограмма)


Свойство TVisualGroupRoutine.Routine (Подпрограмма)

(одним файлом)
Свойство TVisualGroupRoutine.Routine (Подпрограмма)
Routine: TVisualGroup routine domain (Подпрограмма визуальной группы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupRoutine.FRoutine (Подпрограмма) .

См. также
  • Класс TVisualGroupRoutine (Подпрограмма визуальной группы)


Класс TWordTemplate (Шаблоны отчетов Word)

(раздел целиком) (одним файлом)
Класс TWordTemplate (Шаблоны отчетов Word)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

  • Конструктор TWordTemplate.Create (Конструктор шаблона Word)
  • Поле TWordTemplate.FMacroName (Имя макроса)
  • Поле TWordTemplate.FTemplateData (Данные шаблона)
  • Свойство TWordTemplate.MacroName (Имя макроса)
  • Свойство TWordTemplate.TemplateData (Данные шаблона)


Конструктор TWordTemplate.Create (Конструктор шаблона Word)

(одним файлом)
Конструктор TWordTemplate.Create (Конструктор шаблона Word)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TWordTemplateData (Данные Word-шаблона) |  | Доступен |
MacroName (Имя макроса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TWordTemplate (Шаблоны отчетов Word) .

См. также
  • Класс TWordTemplate (Шаблоны отчетов Word)


Поле TWordTemplate.FMacroName (Имя макроса)

(одним файлом)
Поле TWordTemplate.FMacroName (Имя макроса)
FMacroName: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TWordTemplate.MacroName (Имя макроса)
.

См. также
  • Класс TWordTemplate (Шаблоны отчетов Word)
  • Свойство TWordTemplate.MacroName (Имя макроса)


Поле TWordTemplate.FTemplateData (Данные шаблона)

(одним файлом)
Поле TWordTemplate.FTemplateData (Данные шаблона)
FTemplateData: TWordTemplateData (Данные Word-шаблона) .

Используется для хранения значений свойства TWordTemplate.TemplateData (Данные шаблона)
.

См. также
  • Класс TWordTemplate (Шаблоны отчетов Word)
  • Свойство TWordTemplate.TemplateData (Данные шаблона)


Свойство TWordTemplate.MacroName (Имя макроса)

(одним файлом)
Свойство TWordTemplate.MacroName (Имя макроса)
MacroName: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TWordTemplate.FMacroName (Имя макроса) .

См. также
  • Класс TWordTemplate (Шаблоны отчетов Word)


Свойство TWordTemplate.TemplateData (Данные шаблона)

(одним файлом)
Свойство TWordTemplate.TemplateData (Данные шаблона)
TemplateData: TWordTemplateData (Данные Word-шаблона) .

Для чтения и записи свойства используется поле TWordTemplate.FTemplateData (Данные шаблона) .

См. также
  • Класс TWordTemplate (Шаблоны отчетов Word)


Класс TXSLTTemplate (Шаблоны отчетов XSLT)

(раздел целиком) (одним файлом)
Класс TXSLTTemplate (Шаблоны отчетов XSLT)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

  • Конструктор TXSLTTemplate.Create (Конструктор шаблона xslt)
  • Поле TXSLTTemplate.FTemplateData (Данные шаблона)
  • Свойство TXSLTTemplate.TemplateData (Данные шаблона)


Конструктор TXSLTTemplate.Create (Конструктор шаблона xslt)

(одним файлом)
Конструктор TXSLTTemplate.Create (Конструктор шаблона xslt)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TXSLTTemplateData (Данные XSLT-шаблона) |  | Доступен |

Конструирует объект класса TXSLTTemplate (Шаблоны отчетов XSLT) .

См. также
  • Класс TXSLTTemplate (Шаблоны отчетов XSLT)


Поле TXSLTTemplate.FTemplateData (Данные шаблона)

(одним файлом)
Поле TXSLTTemplate.FTemplateData (Данные шаблона)
FTemplateData: TXSLTTemplateData (Данные XSLT-шаблона) .

Используется для хранения значений свойства TXSLTTemplate.TemplateData (Данные шаблона)
.

См. также
  • Класс TXSLTTemplate (Шаблоны отчетов XSLT)
  • Свойство TXSLTTemplate.TemplateData (Данные шаблона)


Свойство TXSLTTemplate.TemplateData (Данные шаблона)

(одним файлом)
Свойство TXSLTTemplate.TemplateData (Данные шаблона)
TemplateData: TXSLTTemplateData (Данные XSLT-шаблона) .

Для чтения и записи свойства используется поле TXSLTTemplate.FTemplateData (Данные шаблона) .

См. также
  • Класс TXSLTTemplate (Шаблоны отчетов XSLT)


Логический домен Boolean (Обычное логическое)

(одним файлом)
Логический домен Boolean (Обычное логическое)
Значение обязательно для заполнения. Значение "истина" представляется строкой " Да ". Значение "ложь" представляется строкой " Нет ".

Используется в качестве простого признака, логического разряда.

См. также
  • Поле TClass.FIsHierarhical (Является иерархическим)
  • Поле TDomain.FRequired (Обязательно для заполнения)
  • Поле TDataBase.FIsCurrent (Является текущей)
  • Поле TProperty.FIsExportable (Эскпортируется)
  • Поле TEnumerationDomain.FShowNames (Показывать имена)
  • Поле TViewColumn.FGrouped (Группировать)
  • Поле TForm.FAutoOpen (Открывать автоматически)
  • Поле TAction.FSeparated (Отделено)
  • Поле TRoutine.FIsClassMethod (Является методом класса)
  • Поле TRoutine.FUseTabs (Использовать закладки)
  • Поле TViewColumn.FForceReadOnly (Только для чтения)
  • Поле TForm.FIsAlive (Живая)
  • Поле TProperty.FIsSuspended (Отложенное)
  • Поле TOption.FGlobal (Глобальная)
  • Поле TView.FCollapsed (Свернуто)
  • Поле TFormView.FChildrenOnTabs (Дочерние представления на закладках)
  • Поле TFormView.FChildrenMinimized (Дочерние представления минимизированы)
  • Поле TViewColumn.FFixed (Зафиксирована)
  • Поле TAction.FDefault (По умолчанию)
  • Поле TFileNameDomain.FFileMustExist (Файл должен существовать)
  • Поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать)
  • Поле TVisualGroup.FCollapsed (Свернута)
  • Поле TRoleMember.FIsPrimary (Основная роль)
  • Поле TPropertyBan.FAllowRead (Чтение разрешено)
  • Поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи)
  • Поле TDataBase.FProtected (Защищена)
  • Поле TClass.FUnNamed (Неименованный)
  • Поле TInstantMessage.FViewed (Просмотрено)
  • Свойство TClass.IsHierarhical (Является иерархическим)
  • Свойство TDomain.Required (Обязательно для заполнения)
  • Свойство TDataBase.IsCurrent (Является текущей)
  • Свойство TProperty.IsExportable (Для экспорта)
  • Свойство TEnumerationDomain.ShowNames (Показывать имена)
  • Свойство TForm.AutoOpen (Открывать автоматически)
  • Свойство TViewColumn.Grouped (Группировать)
  • Свойство TAction.Separated (Отделено)
  • Свойство TRoutine.IsClassMethod (Является методом класса)
  • Свойство TRoutine.UseTabs (Использовать закладки)
  • Свойство TUser.IsCurrent (Является текущим)
  • Свойство TForm.IsAccessible (Доступна)
  • Свойство TRole.IsCurrent (Является текущей)
  • Свойство TViewColumn.ForceReadOnly (Только для чтения)
  • Свойство TForm.IsAlive ("Живая")
  • Свойство TProperty.IsSuspended (Отложенное)
  • Свойство TOption.Global (Глобальная)
  • Свойство TOptionValue.Global (Глобальная)
  • Свойство TOptionValue.IsCurrent (Является текущим)
  • Свойство TField.DomainRequired (Обязательно для заполнения)
  • Свойство TInlineExpression.DomainRequired (Обязательно для заполнения)
  • Свойство TProperty.DomainRequired (Обязательно для заполнения)
  • Свойство TParameter.DomainRequired (Обязательно для заполнения)
  • Свойство TOption.DomainRequired (Обязательно для заполнения)
  • Свойство TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
  • Свойство TView.Collapsed (Свернуть)
  • Свойство TFormView.ChildrenOnTabs (Дочерние представления на закладках)
  • Свойство TFormView.ChildrenMinimized (Дочерние представления минимизированы)
  • Свойство TFormView.Collapsed (Узлы свернуты)
  • Свойство TViewColumn.Fixed (Зафиксирована)
  • Свойство TAction.Default (По умолчанию)
  • Свойство TVisualGroup.IsAccessible (Доступна)
  • Свойство TFileNameDomain.FileMustExist (Файл должен существовать)
  • Свойство TFolderNameDomain.FolderMustExist (Папка должна существовать)
  • Свойство TVisualGroup.Collapsed (Свернута)
  • Свойство TRoleMember.IsPrimary (Основная роль)
  • Свойство TBanGroup.IsAccessible (Доступна)
  • Свойство TPropertyBan.AllowRead (Чтение разрешено)
  • Свойство TFileNameDomain.OverwritePrompt (Запрос перезаписи)
  • Свойство TDataBase.Protected (Защищена от изменений)
  • Свойство TClass.UnNamed (Неименованный)
  • Свойство TInstantMessage.IsCurrent (Текущему пользователю)
  • Свойство TInstantMessage.Viewed (Просмотрено)
  • Свойство TInstantMessage.IsAccessible (Форма доступна)
  • Функция TObject.HasAsChild (Объект является ребенком данного)
  • Функция TObject.HasAsParent (Объект является родителем данного)
  • Функция TUser.GetIsCurrent (Является текущим)
  • Функция TForm.GetIsAccessible (Доступна)
  • Функция TRole.GetIsCurrent (Является текущей)
  • Функция TObject.DependsOn (Зависит от)
  • Функция TOption.AreValid (Настройки действительны)
  • Функция TOption.GetBoolValue (Логическое значение)
  • Функция TObject.Assigned (Проверка пустоты значения)
  • Функция TVisualGroup.GetIsAccessible (Доступна)
  • Функция TBanGroup.GetIsAccessible (Доступна)
  • Функция TObject.IsInstanceOf (Является экземпляром класса)
  • Конструктор TClass.Create (Конструктор класса)
  • Конструктор TDomain.Create (Конструктор домена)
  • Конструктор TEnumerationDomain.Create (Конструктор перечисления)
  • Конструктор TProperty.Create (Конструктор свойства)
  • Конструктор TForm.Create (Конструктор формы)
  • Конструктор TViewColumn.Create (Конструктор колонки представления)
  • Конструктор TAction.Create (Конструктор действия)
  • Конструктор TRoutine.Create (Конструктор подпрограммы)
  • Конструктор TField.Create (Конструктор поля)
  • Конструктор TOption.Create (Конструктор настройки)
  • Процедура TOption.SetValue (Установка значения)
  • Шаблон отчета XSLT TClass.ClassesDiagram (Диаграмма классов)
  • Конструктор TView.Create (Конструктор представления)
  • Конструктор TFormView.Create (Конструктор представления формы)
  • Конструктор TFileNameDomain.Create (Конструктор имени файла)
  • Конструктор TFolderNameDomain.Create (Конструктор имени папки)
  • Конструктор TVisualGroup.Create (Конструктор визуальной группы)
  • Конструктор TRoleMember.Create (Конструктор члена роли)
  • Конструктор TPropertyBan.Create (Конструктор запрета на свойство)
  • Конструктор TDataBase.Create (Конструктор базы данных)
  • Функция TObject.IfThenStr (Выбор из двух строк)
  • Функция TObject.IfThenInt (Выбор из двух целых)
  • Функция TObject.IfThenFloat (Выбор из двух вещественных)
  • Функция TObject.IfThenDate (Выбор из двух дат)
  • Функция TObject.IfThenDateTime (Выбор из двух дат со временем)
  • Функция TObject.IfThenTime (Выбор из двух времен)
  • Функция TObject.IfThenObject (Выбор из двух объектов)
  • Процедура TObject.SendMessage (Отправить сообщение)
  • Поле TViewColumn.FIsFilterHidden (Фильтр скрыт)
  • Поле TFormView.FSingleQuery (Единственный запрос)
  • Свойство TViewColumn.IsFilterHidden (Фильтр скрыт)
  • Свойство TFormView.SingleQuery (Единственный запрос)
  • Функция TAccessItem.GetIsAccessible (Проверка доступности)
  • Поле TParameter.FOutOfTabs (За пределами закладок)
  • Свойство TParameter.OutOfTabs (За пределами закладок)


Логический домен Non-required boolean (Необязательное логическое)

(одним файлом)
Логический домен Non-required boolean (Необязательное логическое)
Значение "истина" представляется строкой " Да ". Значение "ложь" представляется строкой " Нет ".

Используется в качестве простого признака, логического разряда.

См. также
  • Поле TOptionValue.FBoolValue (Логическое значение)
  • Свойство TOptionValue.BoolValue (Логическое значение)
  • Конструктор TOptionValue.Create (Конструктор значения настройки)
  • Процедура TOption.SetValue (Установка значения)


Перечисление TAggregateKind (Тип агрегата)

(одним файлом)
Перечисление TAggregateKind (Тип агрегата)
Допустимые значения:
  • agCount (Количество) - рассчитывается агрегат "Количество"
  • agSumm (Сумма) - рассчитывается агрегат "Сумма по колонке"
  • agMax (Максимальное значение) - рассчитывается агрегат "Максимальное значение по колонке"
  • agMin (Минимальное значение) - рассчитывается агрегат "Минимальное значение по колонке"
  • agAverage (Среднее значение) - рассчитывается агрегат "Среднее значение по колонке"

Определяет тип агрегации по колонке представления.

См. также
  • Поле TViewColumn.FAggregate (Агрегат)
  • Свойство TViewColumn.Aggregate (Агрегат)
  • Конструктор TViewColumn.Create (Конструктор колонки представления)


Перечисление TBlobSubtype (Подтип)

(одним файлом)
Перечисление TBlobSubtype (Подтип)
Значение обязательно для заполнения. Допустимые значения:
  • btText (Текст) - данные большого объекта представляют собой текст. Предположений о синтексисе текста не делается.
  • btBinaryData (Двоичные данные) - формат данных не интерпретируется системой.
  • btImage (Изображение) - данные содержат образ изображения в формате Windows Bitmap Storage (BMP).
  • btSourceCode (Исходный код) - данные являются исходным текстом на языке PascalScript.
  • btXML (XML-документ) - данные представляют собой xml-документ.
  • btNamedFile (Именованный файл) - данные представляют собой именованный файл. Имя файла также хранится в значении большого двоичного объекта.

Определяет формат значения большого двоичного объекта. Информация используется при попытке открыть значение для просмотра или редактирования.

См. также
  • Поле TBlobDomain.FBlobSubtype (Подтип)
  • Свойство TBlobDomain.BlobSubtype (Подтип)
  • Конструктор TBlobDomain.Create (Конструктор домена больших объектов)


Перечисление TChangeAction (Действие при изменении)

(одним файлом)
Перечисление TChangeAction (Действие при изменении)
Значение обязательно для заполнения. Допустимые значения:
  • atCreated (Создан) - после создания объекта
  • atChanging (Изменится) - перед изменением объекта
  • atDestroying (Удаляется) - перед удалением объекта
  • atChanged (Изменен) - после изменения объекта

Значение соответствует изменяющему действию. Используется в процедурах изменения объекта.

См. также
  • Процедура TObject.Change (Изменение объекта)


Перечисление TDateTimePart (Часть даты или времени)

(одним файлом)
Перечисление TDateTimePart (Часть даты или времени)
Значение обязательно для заполнения. Допустимые значения:
  • dpYear (Год)
  • dpMonth (Месяц)
  • dpDay (День)
  • dpHour (Час)
  • dpMinute (Минута)
  • dpSecond (Секунда)
  • dpDayOfWeek (День недели)

Значение описывает часть даты/времени

См. также
  • Функция TObject.DatePart (Часть даты)
  • Функция TObject.TimePart (Часть времени)
  • Функция TObject.DateTimePart (Часть даты со временем)


Перечисление TDeleteRule (Правило удаления)

(одним файлом)
Перечисление TDeleteRule (Правило удаления)
Значение обязательно для заполнения. Допустимые значения:
  • drRestrict (Нет правила)
  • drCascade (Каскадное удаление)
  • drSetNull (Очистить ссылку)

Значение определяет действия, выполняемые системой при попытке удаления объекта.

См. также
  • Поле TClassDomain.FDeleteRule (Правило удаления)
  • Свойство TClassDomain.DeleteRule (Правило удаления)
  • Конструктор TClassDomain.Create (Конструктор домена-ссылки)


Перечисление TExcelSheetKind (Тип листа Excel)

(одним файлом)
Перечисление TExcelSheetKind (Тип листа Excel)
Значение обязательно для заполнения. Допустимые значения:
  • skNone (Не переносить данные на лист)
  • skFirst (На первый лист)
  • skFirstHidden (На певый скрытый лист)
  • skLast (На последний лист)
  • skNew (На новый лист)

Определяет лист для переноса данных при формировании отчета Microsoft Excel.

См. также
  • Поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных)
  • Свойство TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)
  • Конструктор TExcelTemplate.Create (Конструктор шаблона Excel)


Перечисление TReplicationStatus (Статус репликации)

(одним файлом)
Перечисление TReplicationStatus (Статус репликации)
Значение обязательно для заполнения. Допустимые значения:
  • rsReplicatableMetadata (Вместе с метаданными)
  • rsReplicatable (Вместе с бизнес-данными)
  • rsNotReplicatable (Не реплицировать)

Определяет статус репликации объекта.

См. также
  • Поле TClass.FReplicationStatus (Статус репликации)
  • Свойство TClass.ReplicationStatus (Статус репликации)
  • Свойство TObject.ReplicationStatus (Статус репликации)
  • Свойство TView.ShownClassReplicationStatus (Статус репликации класса)
  • Конструктор TClass.Create (Конструктор класса)
  • Свойство TClassDomain.ClassReplicationStatus (Статус репликации класса)


Перечисление TRowColor (Цвет строки таблицы)

(одним файлом)
Перечисление TRowColor (Цвет строки таблицы)
Допустимые значения:
  • rcDefault (По умолчанию)
  • rcRed (Красная строка)
  • rcGreen (Зеленая строка)
  • rcBlue (Синяя строка)

Определяет цвет отображения строки в таблице.


Перечисление TScope (Область видимости)

(одним файлом)
Перечисление TScope (Область видимости)
Значение обязательно для заполнения. Допустимые значения:
  • scPublic (Видимо пользователям)
  • scPrivate (Не видимо пользователям)

Определяет область видимости элементов.

См. также
  • Поле TProperty.FScope (Область видимости)
  • Поле TParameter.FScope (Область видимости)
  • Поле TForm.FScope (Область видимости)
  • Поле TRoutine.FScope (Область видимости)
  • Поле TVisualGroup.FScope (Область видимости)
  • Свойство TProperty.Scope (Область видимости)
  • Свойство TParameter.Scope (Область видимости)
  • Свойство TForm.Scope (Область видимости)
  • Свойство TRoutine.Scope (Область видимости)
  • Свойство TVisualGroup.Scope (Область видимости)
  • Конструктор TProperty.Create (Конструктор свойства)
  • Конструктор TParameter.Create (Конструктор параметра)
  • Конструктор TForm.Create (Конструктор формы)
  • Конструктор TRoutine.Create (Конструктор подпрограммы)
  • Конструктор TVisualGroup.Create (Конструктор визуальной группы)
  • Функция TClass.ListProperties (Список видимых свойств)
  • Функция TClass.ListRoutines (Список видимых подпрограмм)


Перечисление TSecurityModel (Модели безопасности)

(одним файлом)
Перечисление TSecurityModel (Модели безопасности)
Значение обязательно для заполнения. Допустимые значения:
  • smFullAccess (Доступ не ограничен)
  • smPublic (Публичный объект)
  • smPrivate (Приватный объект)

Определяет модель безопасности, в соответствии с которой будет создан новый объект.

См. также
  • Поле TClass.FSecurityModel (Модель безопасности)
  • Свойство TClass.SecurityModel (Модель безопасности)
  • Конструктор TClass.Create (Конструктор класса)


Перечисление TShowObjectInfoType (Тип представления объектов)

(одним файлом)
Перечисление TShowObjectInfoType (Тип представления объектов)
Значение обязательно для заполнения. Допустимые значения:
  • soName (Показывать имена)
  • soDescription (Показывать наименования)
  • soBoth (Показывать имена и наименования)

Описывает тип представления объектов, доступных по ссылке, в выпадающем списке и таблице.

См. также
  • Поле TClassDomain.FShowObjectInfoType (Тип представления объектов)
  • Свойство TClassDomain.ShowObjectInfoType (Тип представления объектов)
  • Конструктор TClassDomain.Create (Конструктор домена-ссылки)


Перечисление TSortDirection (Направление сортировки)

(одним файлом)
Перечисление TSortDirection (Направление сортировки)
Значение обязательно для заполнения. Допустимые значения:
  • sdNone (Нет)
  • sdAscending (По возрастанию)
  • sdDescending (По убыванию)

Определяет направление сортировки по колонке представления.

См. также
  • Поле TViewColumn.FSortDirection (Направление сортировки)
  • Свойство TViewColumn.SortDirection (Направление сортировки)
  • Конструктор TViewColumn.Create (Конструктор колонки представления)


Перечисление TUserAccessMode (Режим доступа)

(одним файлом)
Перечисление TUserAccessMode (Режим доступа)

Этот раздел еще предстоит написать.

См. также
  • Поле TUser.FAccessMode (Режим доступа)
  • Свойство TUser.AccessMode (Режим доступа)


Строковый домен Char (Символ)

(одним файлом)
Строковый домен Char (Символ)
Максимальная длина (в символах): 2.

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

См. также
  • Функция TObject.Char (Символ)
  • Функция TObject.ASCII (ASCII-код)


Строковый домен TCaption (Заголовки)

(одним файлом)
Строковый домен TCaption (Заголовки)
Максимальная длина (в символах): 128.

Используется для представления заголовков элементов управления на экранных формах, например, закладок, групп, категорий свойств.

См. также
  • Поле TParameter.FGroup (Заголовок группы)
  • Поле TParameter.FTab (Заголовок закладки)
  • Поле TProperty.FCategory (Категория)
  • Поле TRoutine.FConfirmation (Текст подтверждения)
  • Поле TViewColumn.FFilter (Фильтр)
  • Поле TOption.FGroup (Заголовок группы)
  • Поле TOption.FTab (Заголовок закладки)
  • Свойство TParameter.Group (Заголовок группы)
  • Свойство TParameter.Tab (Заголовок закладки)
  • Свойство TProperty.Category (Категория)
  • Свойство TRoutine.Confirmation (Текст подтверждения)
  • Свойство TViewColumn.Filter (Фильтр)
  • Свойство TOption.Group (Заголовок группы)
  • Свойство TOption.Tab (Заголовок закладки)
  • Конструктор TParameter.Create (Конструктор параметра)
  • Конструктор TProperty.Create (Конструктор свойства)
  • Конструктор TRoutine.Create (Конструктор подпрограммы)
  • Конструктор TOption.Create (Конструктор настройки)
  • Поле TCommandButton.FGroup (Заголовок группы)
  • Поле TCommandButton.FTab (Заголовок закладки)
  • Свойство TCommandButton.Group (Заголовок группы)
  • Свойство TCommandButton.Tab (Заголовок закладки)


Строковый домен TExternalIndentifier (Внешний идентификатор)

(одним файлом)
Строковый домен TExternalIndentifier (Внешний идентификатор)
Максимальная длина (в символах): 128.

Используется для идентификации объектов, внешних по отношению к системе, например, идентификторов классов OLE-объектов или макросов VBA.

См. также
  • Поле TExcelTemplate.FMacroName (Имя макроса)
  • Поле TOleObjectMethod.FClassID (Идентификатор класса)
  • Поле TOleObjectMethod.FMethod (Имя метода)
  • Поле TWordTemplate.FMacroName (Имя макроса)
  • Свойство TExcelTemplate.MacroName (Имя макроса)
  • Свойство TOleObjectMethod.ClassID (Идентификатор класса)
  • Свойство TOleObjectMethod.Method (Метод)
  • Свойство TWordTemplate.MacroName (Имя макроса)
  • Конструктор TExcelTemplate.Create (Конструктор шаблона Excel)
  • Конструктор TOleObjectMethod.Create (Конструктор метода Ole-объекта)
  • Конструктор TWordTemplate.Create (Конструктор шаблона Word)


Строковый домен TFileExtension (Расширение имени файла)

(одним файлом)
Строковый домен TFileExtension (Расширение имени файла)
Максимальная длина (в символах): 10.

Служит для хранения расширения имени файла. Расширение имени может начинаться с точки. Значения ".xml" и "xml" функционально эквивалентны.

См. также
  • Поле TBlobDomain.FExtension (Расширение имени)
  • Поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию)
  • Свойство TBlobDomain.Extension (Расширение)
  • Свойство TFileNameDomain.DefaultExtension (Расширение по умолчанию)
  • Конструктор TBlobDomain.Create (Конструктор домена больших объектов)
  • Конструктор TFileNameDomain.Create (Конструктор имени файла)


Строковый домен TGUID (Уникальные идентификаторы)

(одним файлом)
Строковый домен TGUID (Уникальные идентификаторы)
Значение обязательно для заполнения. Максимальная длина (в символах): 38.

Используется для хранения глобально-уникальных идентификаторов. Длина обусловлена традиционной формой представления идентификторов (GUID): "{ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ}" (без кавычек, с фигурными скобками), где Х - шестнадцатиричный разряд. Таким образом, глобально-уникальный идентификатор состоит из 16 байт.

Значение обязательно для заполнения.
Максимальная длина (в символах): 38.
См. также
  • Поле TDataBase.FGUID (Идентификатор)
  • Свойство TDataBase.GUID (Идентификатор)
  • Свойство TObject.SourceDataBaseGUID (GUID базы даных-источника)
  • Конструктор TDataBase.Create (Конструктор базы данных)


Строковый домен TLongString (Длинная строка)

(одним файлом)
Строковый домен TLongString (Длинная строка)
Максимальная длина (в символах): 2000.

Максимально длинная поддерживаемая строка. Используется для репрезентации "строки вообще" в строковых функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого строкового значения.

См. также
  • Поле TOptionValue.FStrValue (Строковое значение)
  • Свойство TMethod.CallTemplate (Шаблон вызова)
  • Свойство TOptionValue.StrValue (Строковое значение)
  • Свойство TOptionValue.VisibleValue (Видимое значение)
  • Свойство TOption.VisibleValue (Видимое значение)
  • Функция TObject.IntToStr (Целое в строку)
  • Функция TObject.DateToStr (Дату в строку)
  • Функция TObject.Copy (Копировать)
  • Функция TMethod.CallTemplate (Шаблон вызова)
  • Функция TObject.DateTimeToStr (Дату и время в строку)
  • Функция TObject.TimeToStr (Время в строку)
  • Функция TOptionValue.GetVisibleValue (Видимое значение)
  • Функция TObject.FloatToStr (Вещественное в строку)
  • Функция TOption.GetStrValue (Строковое значение)
  • Функция TObject.IfThenStr (Выбор из двух строк)
  • Функция TObject.StrToInt (Строку в целое)
  • Функция TObject.StrToDate (Строку в дату)
  • Функция TObject.StrLength (Длина строки)
  • Функция TObject.StrToDateTime (Строку в дату и время)
  • Функция TObject.StrToTime (Строку во время)
  • Конструктор TOptionValue.Create (Конструктор значения настройки)
  • Функция TObject.StrToFloat (Строку в вещественное)
  • Процедура TOption.SetValue (Установка значения)


Строковый домен TObjectDescription (Наименования)

(одним файлом)
Строковый домен TObjectDescription (Наименования)
Значение обязательно для заполнения. Максимальная длина (в символах): 128.

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

См. также
  • Поле TObject.FDescription (Наименование)
  • Свойство TObject.Description (Наименование)
  • Конструктор TObject.Create (Конструктор объекта)
  • Конструктор TFormAccess.Create (Конструктор доступа к форме)
  • Конструктор TRoleMember.Create (Конструктор члена роли)
  • Конструктор TOptionValue.Create (Конструктор значения настройки)
  • Конструктор TVisualGroupAccess.Create (Конструктор доступа к визуальной группе)
  • Конструктор TBanGroupAccess.Create (Конструктор доступа к группе запретов)
  • Конструктор TBanGroupItem.Create (Конструктор элемента группы запретов)
  • Процедура TObject.SendMessage (Отправить сообщение)
  • Свойство TAccessItem.Description (Наименование)


Строковый домен TObjectName (Имена)

(одним файлом)
Строковый домен TObjectName (Имена)
Значение обязательно для заполнения. Максимальная длина (в символах): 64.

Используется для хранения имен объектов. Каждый объект системы имеет обязательное имя. Имена объектов обязаны быть уникальными в пределах класса, родительского объекта (если есть) и инкапсулирующего объекта (если есть).

См. также
  • Поле TObject.FName (Имя)
  • Поле TBooleanDomain.FTrueValue (Значение "Истина")
  • Поле TBooleanDomain.FFalseValue (Значение "Ложь")
  • Свойство TObject.Name (Имя)
  • Свойство TBooleanDomain.TrueValue (Значение "Истина")
  • Свойство TBooleanDomain.FalseValue (Значение "Ложь")
  • Функция TObject.UniqueValue (Уникальный идентификатор)
  • Конструктор TObject.Create (Конструктор объекта)
  • Конструктор TBooleanDomain.Create (Конструктор логического домена)
  • Функция TObjectList.ByName (Поиск по имени)
  • Конструктор TFormAccess.Create (Конструктор доступа к форме)
  • Конструктор TRoleMember.Create (Конструктор члена роли)
  • Конструктор TOptionValue.Create (Конструктор значения настройки)
  • Функция TOption.GetStrValue (Строковое значение)
  • Функция TOption.GetIntValue (Целое значение)
  • Функция TOption.GetFloatValue (Вещественное значение)
  • Функция TOption.GetDateValue (Значение даты)
  • Функция TOption.GetTimeValue (Значение времени)
  • Функция TOption.GetDateTimeValue (Значение даты со временем)
  • Функция TOption.GetBoolValue (Логическое значение)
  • Функция TOption.GetBlobValue (Значение-большой объект)
  • Функция TOption.GetObjectValue (Значение-объект)
  • Конструктор TFormView.Create (Конструктор представления формы)
  • Конструктор TVisualGroupAccess.Create (Конструктор доступа к визуальной группе)
  • Конструктор TBanGroupAccess.Create (Конструктор доступа к группе запретов)
  • Конструктор TBanGroupItem.Create (Конструктор элемента группы запретов)
  • Свойство TAccessItem.Name (Имя)


Строковый домен TOldID (Идентификаторы при создании)

(одним файлом)
Строковый домен TOldID (Идентификаторы при создании)
Значение обязательно для заполнения. Максимальная длина (в символах): 38.

Используется для хранения идентификаторов объекта, полученного им при создании. Этот идентификатор сохраняется при репликации объекта в другую физическую базу данных. Длина обусловлена традиционной формой представления глобально-уникальных идентификторов (GUID): "{ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ}" (без кавычек, с фигурными скобками), где Х - шестнадцатиричный разряд.

Значение обязательно для заполнения.
Максимальная длина (в символах): 38.
См. также
  • Поле TObject.FOldID (Идентификатор при создании)
  • Свойство TObject.OldID (Идентификатор при создании)


Строковый домен TShortcut (Горячие клавиши)

(одним файлом)
Строковый домен TShortcut (Горячие клавиши)
Максимальная длина (в символах): 20.

Используется для задания горячих клавиш. Текст значения интерпретируется функцией Windows API GetKeyNameText. Примеры значений (без кавычек):

  • "Ins"
  • "Del"
  • "Ctrl+Ins"
  • "Ctrl+Alt+Ins"
  • "F12"
  • "F1"
  • "Ctrl+A"
  • "A"

См. также
  • Поле TAction.FShortcut (Горячая клавиша)
  • Свойство TAction.Shortcut (Горячая клавиша)
  • Конструктор TAction.Create (Конструктор действия)


Целочисленный домен Integer (Целое)

(одним файлом)
Целочисленный домен Integer (Целое)

Используется для репрезентации "целого вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого целочисленного значения.

См. также
  • Поле TIntegerDomain.FMinValue (Минимальное значение)
  • Поле TIntegerDomain.FMaxValue (Максимальное значение)
  • Поле TOptionValue.FIntValue (Целое значение)
  • Свойство TIntegerDomain.MinValue (Минимальное значение)
  • Свойство TIntegerDomain.MaxValue (Максимальное значение)
  • Свойство TRoutine.ParamCount (Количество параметров)
  • Свойство TOptionValue.IntValue (Целое значение)
  • Свойство TDomain.DependencyCount (Количество зависимостей)
  • Функция TRoutine.GetParamCount (Количество параметров)
  • Функция TObjectList.Length (Длина списка)
  • Функция TObjectList.IndexOf (Индек объекта в списке)
  • Функция TObjectList.ByName (Поиск по имени)
  • Функция TParameter.GetNextPos (Следующая позиция)
  • Функция TObject.StrToInt (Строку в целое)
  • Функция TProperty.GetNextPos (Следующая позиция)
  • Функция TEnumerationItem.GetNextPos (Следующая позиция)
  • Функция TAction.GetNextPos (Следующая позиция)
  • Функция TViewColumn.GetNextPos (Следующая позиция)
  • Функция TForm.GetNextPos (Следующая позиция)
  • Функция TObject.StrLength (Длина строки)
  • Функция TOption.GetNextPos (Следующая позиция)
  • Функция TOption.GetIntValue (Целое значение)
  • Функция TObject.DatePart (Часть даты)
  • Функция TObject.TimePart (Часть времени)
  • Функция TObject.DateTimePart (Часть даты со временем)
  • Функция TFormView.GetNextPos (Следующая позиция)
  • Функция TVisualGroup.GetNextPos (Следующая позиция)
  • Функция TVisualGroupItem.GetNextPos (Следующая позиция)
  • Функция TObject.ASCII (ASCII-код)
  • Функция TObject.IfThenInt (Выбор из двух целых)
  • Функция TObject.Trunc (Отсечение дробной части)
  • Конструктор TIntegerDomain.Create (Конструктор целочисленного домена)
  • Функция TObject.IntToStr (Целое в строку)
  • Функция TObject.Copy (Копировать)
  • Конструктор TOption.Create (Конструктор настройки)
  • Конструктор TOptionValue.Create (Конструктор значения настройки)
  • Процедура TOption.SetValue (Установка значения)
  • Функция TObject.Char (Символ)
  • Функция TObject.Round (Округление)
  • Функция TCommandButton.GetNextPos (Следующая позиция)


Целочисленный домен Percent (Процент)

(одним файлом)
Целочисленный домен Percent (Процент)
Минимальное допустимое значение: 0 . Минимальное допустимое значение: 100 .

Используется для хранения целого количества процентов, для чего вводит ограничения на значение.

См. также
  • Поле TFormView.FSpacePercentage (Площадь)
  • Свойство TFormView.SpacePercentage (Площадь, %)
  • Конструктор TFormView.Create (Конструктор представления формы)


Целочисленный домен TLength (Длина)

(одним файлом)
Целочисленный домен TLength (Длина)
Значение обязательно для заполнения. Минимальное допустимое значение: 1 .

Обозначет длину строки. Пустые строки системой не поддерживаются и интерпретируются как отстутсвие строкого значения (nil, null)

См. также
  • Поле TStringDomain.FLength (Максимальная длина)
  • Свойство TStringDomain.Length (Длина)
  • Функция TObject.GetLevel (Уровень в иерархии)
  • Конструктор TStringDomain.Create (Конструктор строкового домена)


Целочисленный домен TPosition (Позиция)

(одним файлом)
Целочисленный домен TPosition (Позиция)
Значение обязательно для заполнения. Минимальное допустимое значение: 0 .

Значение содержит позицию элемента в последовательности. Используется обычно для упорядочивания однородных элементов.

См. также
  • Поле TEnumerationItem.FPosition (Позиция)
  • Поле TParameter.FPosition (Позиция)
  • Поле TAction.FPosition (Позиция)
  • Поле TViewColumn.FPosition (Позиция)
  • Поле TObjectListItem.FPosition (Позиция)
  • Поле TForm.FPosition (Позиция)
  • Поле TProperty.FPosition (Позиция)
  • Поле TOption.FPosition (Позиция)
  • Поле TFormView.FPosition (Позиция)
  • Поле TVisualGroup.FPosition (Позиция)
  • Поле TVisualGroupItem.FPosition (Позиция)
  • Свойство TEnumerationItem.Position (Позиция)
  • Свойство TParameter.Position (Позиция)
  • Свойство TAction.Position (Позиция)
  • Свойство TViewColumn.Position (Позиция)
  • Свойство TForm.Position (Позиция)
  • Свойство TProperty.Position (Позиция)
  • Свойство TOption.Position (Позиция)
  • Свойство TFormView.Position (Позиция)
  • Свойство TVisualGroup.Position (Позиция)
  • Свойство TVisualGroupItem.Position (Позиция)
  • Конструктор TParameter.Create (Конструктор параметра)
  • Конструктор TEnumerationItem.Create (Конструктор элемента перечисления)
  • Конструктор TAction.Create (Конструктор действия)
  • Конструктор TViewColumn.Create (Конструктор колонки представления)
  • Функция TObjectList.GetItem (Получить объект из списка)
  • Процедура TObjectList.SetItem (Установить объект в списке)
  • Конструктор TForm.Create (Конструктор формы)
  • Конструктор TProperty.Create (Конструктор свойства)
  • Конструктор TFormView.Create (Конструктор представления формы)
  • Конструктор TVisualGroup.Create (Конструктор визуальной группы)
  • Конструктор TVisualGroupItem.Create (Конструктор элемента визуальной группы)
  • Поле TCommandButton.FPosition (Позиция)
  • Свойство TCommandButton.Position (Позиция)


Целочисленный домен TPrescision (Точность)

(одним файлом)
Целочисленный домен TPrescision (Точность)
Минимальное допустимое значение: 1 .

Используется для хранения точности представления вещественных чисел.

См. также
  • Поле TFloatDomain.FLength (Максимальная длина)
  • Поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой)
  • Свойство TFloatDomain.Length (Длина)
  • Свойство TFloatDomain.DecimalPlaces (Количество десятичных знаков)
  • Конструктор TFloatDomain.Create (Конструктор вещественного домена)


Целочисленный домен TWidth (Ширина)

(одним файлом)
Целочисленный домен TWidth (Ширина)
Значение обязательно для заполнения. Минимальное допустимое значение: 0 .

Используется для хранения ширин экранных элементов (например, колонок)

См. также
  • Поле TViewColumn.FWidth (Ширина)
  • Свойство TViewColumn.Width (Ширина)


Терминология

(одним файлом)
Терминология

Интеграция - комплекс работ по настройке механизмов взаимодействия между различными учетными системами, которые функционируют независимо друг от друга в одной организационной структуре ("лоскутная" автоматизация).

Реплика - копия объекта (например, базы данных), обновляемая автоматически при обновлении оригинала.

Модальная форма - подчиененная форма, вызываемая из процедуры, накладывающая ограничения на использование процедуры пока модальная форма не будет закрыта.


Облачные вычисления

(одним файлом)
Облачные вычисления

Под терминами "Облака", "Облачные вычисления" подразумеваются способы организации распределенных вычислений данных, функций, всего того, что требуется для автоматизации бизнес-процессов. Реализация подобной технологии иначе называется DNS (Domain Name System - система доменных имен). Упрощенно можно сказать, что существует база данных, где каждому зарегистрированному доменному имени соответствует некий IP-адрес. Также в записях этой базы данных предусмотрены настройки, указывающие на использование записей для различных действий (для электронной почты, для web и т.д.). База данных является распределенной, она хранится на множестве серверов в сети Internet одновременно, и каждый из этих серверов по стандартному описанному протоколу отдает записи этой базы данных. При необходимости можно осуществить сбор всей информации DNS, однако данные меняются настолько быстро, что в результате такой операции будут получены устаревшие значения, не соответствующие реальным.

В то же время с данными DNS вполне допустимо производить кэширование, периодическое обновление и т.п. Смысл "облачной" технологии в том, что данные заменяются на функции доступа к ним. Таким образом, нет необходимости хранить данные о соответствии DNS-имен IP-адресам. При этом всегда доступна информация о том как и куда необходимо обратиться с запросом данных и как использовать полученный ответ.

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

Для понимания, приведем пример одного из московских ВУЗов с широкой сетью филиалов.

В начале создания внутрикорпоративной системы ВУЗа ее построение происходило постепенно, по частям. Было создано централизованное хранилище всех данных, база данных с необходимыми данными и бизнес-функциями, которые выполнялись над этими данными. Все пользователи системы осуществляли свою работу из единой локальной сети с включенной в нее базой данных. Соединения осуществлялись по стандартному потоколу, предоставляемому СУБД. Этот протокол требовал низколатентных соединений и пользователи были удовлетворены, однако существловали достаточно критичные ограничения на доступ к базе данных. Данная технология представляла собой технологию "клиент-сервер".

В дальнейшем потребовалось распространение решения для удаленных филиалов ВУЗа. Было принято внутреннее решение IT-служб ВУЗа о разделении базы данных, то есть каждый филиал получил собственную базу данных (изначально пустую) и начал работать с ней. Попытка синхронизации справочников собственными усилиями не удалась. Синхронизация данных - удалась частично. Сопутствующие сопровождению системы задачи (например, распространение обновлений и др.) решались с переменным успехом.

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

Вопросы по разграничению доступа, настроек и т.п. в данный момент решаются централизованно.

Простым и правильным способом организации корпоративных "облачных" SaaS-технологий будет поддержка такого решения в пределах одной организации.

Другой реальный пример внедрения "облачных" технологий - другой крупный ВУЗ:

При внедрении Системы не оказалось сил, способных осуществлять обслуживание серверных мощностей. В итоге компания "Мельница Технолгий" на собственных подконтрольных площадях самостоятельно развернула всю инфраструктуру, требующуюся для функционирования базы данных ВУЗа. Далее, на базе решения сервер приложений Платформы были созданы точки входа, через которые все функции Системы, а также все данные были доступны пользователям ВУЗа.

Основным аргументом представителей ВУЗа против подобного внедрения был тот факт, что данные хранятся не на собственных мощностях, а у стороннего поставщика услуг. Для разрешения спорного вопроса, каждую ночь на мощностях компании "Мельница Технологий" автоматически создается реплика с самыми актуальными данными. Таким образом ВУЗ всегда имеет в своем распоряжении ежедневный backup для оперативного развертывания в случае форс-мажора.

Из примера понятно, что компания "Мельница Технологий" имеет все возможности и ресурсы для подключения новых пользователей "облака", которые не желают или не имеют возможности заниматься обслуживанием Системы. При этом на заказчика не ложатся затраты на закупку и развертывание инфраструктуры и базы данных, на содержание администраторов Системы.

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

Следует обратить внимание, что понятия "Облако", "Облачные вычисления" носят сугубо маркетинговый характер и не несут какой-то четкой логики построения решений. Технология заключается только в создании точек входа, за которыми функции распределяются по собственным алгоритмам, которые не должны интересовать конечного пользователя. Данные алгоритмы всегда могут быть изменены в зависимости от необходимости. Так, при возрастании нагрузки на "облако", она может быть перераспределена по тому количеству серверов, которое необходимо и удобно.


OLTP и OLAP

(одним файлом)
OLTP и OLAP

OLTP (OnLine Transaction Processing) - обработка транзакций онлайн.

Задача, которая решается с помощью OLTP-метода называется здесь и дальше "учет". Т.е. это в первую очередь учетные задачи. Характерным элементом управления решенной OLTP-задачи является так называемый "grid" - таблица, состоящая из колонок и строк.

Когда ставится и решается задача постановки учета чего бы то ни было, например, продаж мороженого, пользователь должен увидеть в результате "grid" (таблицу, табличное представление), где каждая строка соответствует одному объекту учета, в данном случае - продаже мороженого, а каждый столбец соответствует атрибуту этого самого элемента учета. В нашем случае, с продажами мороженого это точка, которая продала, сорт, количество, цена, сумма продажи и т.д.

Сорт мороженного | Точка продаж | Кол-во | Цена | Сумма
Пломбир | ул. Ленина | 50 | 20 | 1000
Ленинградское | ул. Ленина | 20 | 18 | 360
Эскимо | ул. Ленина | 100 | 23 | 2300
Лакомка | ул. Ленина | 30 | 25 | 750
В стаканчике | ул. Ленина | 150 | 12 | 1800

Эта таблица должна храниться в базе данных и пользователю не важно при помощи какой технологии построена база данных (на реляционных принципах, на объектных принципах или других). Важно то, что клиентское приложение, с которым пользователь непосредственно взаимодействует, может получить данные и показать их в виде таблицы.

Как правило, у пользователя есть несколько стандартных действий для управления данными в таблице - сортировка, группировка, отбор по колонкам, по дополнительным критериям. Все эти действия предназначены быстрого поиска ошибок в данных. Таким образом поиск ошибок учета осуществляется именно в таблицах. Для исправления ошибок используются следующие методы:

1. В таблице, соответствующая ячейка переводится в режим редактирования, данные изменяются непосредственно в ней, нажатием клавиши Enter подтверждается изменение, и, если новое значение удовлетворяет внутренним ограничениям Системы, то оно будет записано в базу данных.

2. Исправление может рассматриваться как операция, в этом случае: выделяется один или несколько объектов таблицы, т.е. одна или несколько строчек, вызывается действие (либо кнопкой в панели инструментов, либо через контекстное меню, либо каким-то более экзотическим способом). Будет показана модальная форма ввода значений и параметров. При этом пользователь не сможет продолжить работы с системой пока эта форма не будет закрыта после внесения изменений или без них. Только после закрытия модальной формы действие начинает выполняться.

3. Для Платформы "Мельница Данных" также разработан элемент управления, который называется "инспектор объектов". Он используется для установки одинаковых значений для выбранных в таблице однородных объектов. Также инспектор объектов используется, для удобного просмотра всех аттрибутов объекта, так как зачастую таблица содержит такое большое количество колонок, что работа с ними в таблице.

После поиска ошибок какие-то из объектов таблицы участвуют в дальнейших бизнес-процессах, которые должны быть реализованы, какие-то не участвуют и просто хранятся.

Для конечного пользователя простой ввод бизнес-данных в систему учета не имеет никакого практического смысла без возможности дальнейшей обработки и формирования отчетности.

Первичные данные, полученные в результате решения OLTP-задачи, должны использоваться для решения бизнес-задач.

OLАP (Online Analisys Processing) - аналитическая обработка в реальном времени.

В результате решения задачи OLAP система может получить следующее:

1. Результаты обработки, готовые к публикации.

2. Информация для дальнейшего принятия управленческих решений.

Данные, полученные в результате решения OLTP-задачи, поступают на вход и рассматриваются в качестве входных данных для задачи OLАP. Такие данные принято называть "Фактами". Факты должны быть предварительно выверены, подготовлены. В зависимости от разработанных стандартов для Системы не все данные могут быть переданы в OLAP-задачу в качестве фактов. Для данных могут использоваться дополнительные признаки, такие как: "Выверено", "Обработано", "Проверено", "Утверждено". Соответственно на вход OLAP-задачи можно направить данные, для которых один, несколько или все признаки (определяется логикой при разработке) имеют значение "Истина". Факты, которые попали на вход OLAP-задачи, составляют таблицу фактов. В таблице фактов выделяются факты, которые являются "мерой" (measure) или "показателем" (index).

Для примера, самый простой показатель - это количество самих фактов, а также средняя сумма, дисперсия, любой агрегат над этим значением.

Далее выверяют измерение анализа - это, как правило, ссылки на справочные таблицы, и по этим справочным таблицам строится список соответствующий измерению (dimension). На основании таблицы фактов и информации о том, что у нас является показателем, что у нас является измерениями, строится так называемый "куб". Структура данных "куба" сложная. Для наглядности, ниже приведен "куб" для нашего простого примера продаж мороженного:

В качестве меры выбрано количество сумма продаж по деньгам, а в качестве измерения - сорт мороженого, дата и точка, которая эту продажу осуществила. По первой оси - дата. По этой оси выстраиваются все дни соответствующего периода, 01.01.2012, 02.01.2012 и так далее. За год - 365 точек. По другой оси выстраиваются все имеющиеся в продаже сорта. По третьей оси мы ставим точки, соответствующие точкам продаж. В получившемся кубе, в каждой ячейке пишем общую сумму продаж этого сорта мороженного в этой точке и за этот день. В каждой из ячеек может быть несколько различных значений измерений. В этом случае ячейка делится на несколько частей. Например, для примера с мороженным, ячейка также может содержать, кроме суммы продаж, количество проданных единиц данного сорта мороженного. В более сложных случаях, количество показателей может быть большим чем три, как в примере.

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

Второе требование для OLAP задачи - визуализация данных. Табличный вид описанного выше "куба" это сводная таблица, позволяющая группировать измерения, а также показывать факты, то есть значения показателей в ячейках. Для таблицы доступны различные варианты просмотра данных в различных разрезах.

Следующее требование - публикация данных. Здесь нужно отметить, что публикация одного единственного среза данных не несет большого смысла. С точки зрения конечного пользователя, оптимальным вариантом публикации будет являться такой вид на данные, при котором пользователь может "вживую" менять измерения, перетаскивать их и т.д. Такая публикация может быть полезна при принятии управленческих решений руководством предприятия, а также будет удобна для анализа конечными пользователями. Кроме того, для публикации активно используются всевозможные графики, диаграммы, построенные по актуальным данным.

Достаточно востребованным для конечных пользователей является также свойство Системы, называемое Drill Down (проваливание). Данное свойство подразумевает, что пользователь выбрав каким-либо образом значение показателя, имеет возможность посмотреть, каким образом этот показатель был посчитан, на основании чего, и собственно, на основании каких конкретно данных был сформирован этот показатель. Для этого OLАP-системе необходим доступ к первичным данным. Такое требование не является существенной проблемой, так как у хранилище одно и то же и для OLTP-задачи и для OLАP-задачи.


Руководство разработчика для построителя запросов

(раздел целиком) (одним файлом)
Руководство разработчика для построителя запросов
  • Информация о приложении
  • Требования к провайдеру
  • Использование провайдера БД Парус8
  • Разработка шаблонов
  • Интерфейс автоматизации


Информация о приложении

(одним файлом)
Информация о приложении
Приложение QueryBuilder представляет собой документ-ориентированное MDI-проиложение.
Документом является запрос. Запросы сохраняются в файле с расширением .MQR. Файлы запросов представляют собой xml-документы определенной структуры. Для доступа к данным БД приложение использует провайдеры данных - библиотеки объектов, реализующих опубликованные интерфейсы. Идентификатор использованного для построения запроса провайдера сохраняется в файле запроса. Если открыть файл с провайдером, не соответствующим текущему, будет выдано предупреждение.


Требования к провайдеру

(раздел целиком) (одним файлом)
Требования к провайдеру

Интерфейсы провайдера описаны в библиотеке типов файла QueryBuilder.exe и в файле QueryBuilder_TLB.pas. Собственно, объект-провайдер реализует Интерфейс IInfoProvider. Каждый CoClass, реализующий указанный интерфейс, прописывается в ветке реестра HKLM\Software\QueryBuilder\Providers добавлением параметра, имя которого определяет наименование провайдера, а значение - CLSID провайдера.

Метаданные (информация о таблицах, полях и типах данных) предоставляются в виде именованных элементов, то есть каждый из них реализует интерфейс INamedItemInfo

  • Интерфейс IInfoProvider
  • Интерфейс IDataSet
  • Интерфейс INamedItemInfo
  • Интерфейс ITableInfo
  • Интерфейс IFieldInfo
  • Интерфейс ITypeInfo
  • Интерфейс IEnumerationItem


Интерфейс IInfoProvider

(одним файлом)
Интерфейс IInfoProvider
Провайдер реализует интерфейс
  IInfoProvider = interface(IUnknown)
    ['{64F8072B-7250-4C57-BA8E-D018C7B72CC7}']
    function Get_TableCount: Integer; safecall;
    function Get_Table(Index: Integer): ITableInfo; safecall;
    function Perform(const SQL: WideString): IDataSet; safecall;
    procedure Connect(const DataBase: WideString;
      const UserName: WideString;
      const Password: WideString); safecall;
    function Get_CLSID: TGUID; safecall;
    function Get_DateLiteral: WideString; safecall;
    function Get_TimeLiteral: WideString; safecall;
    function Get_DateTimeLiteral: WideString; safecall;
  end;
  • функция Get_CLSID возвращает GUID класса-провайдера.
  • процедура Connect осуществляет соединение с БД.
  • функция Get_TableCount возвращает количество таблиц, доступ к которым предоставляется провайдером.
  • функция Get_Table возвращает ссылку на информацию о таблице с номером Index. Ссылка на интерфейс ITableInfo или интерфейс ITableInfo2
  • функция Perform принимает текст сформированного SQL-запроса и возвращает ссылку на набор данных. Набор данных реализует интерфейс IDataSet.
  • функция Get_DateLiteral возвращает строку, определяющую способ включения в запрос литерала типа "Дата".
  • функция Get_TimeLiteral возвращает строку, определяющую способ включения в запрос литерала типа "Время".
  • функция Get_DateTimeLiteralвозвращает строку, определяющую способ включения в запрос литерала типа "Дата со временем".


Интерфейс IDataSet

(одним файлом)
Интерфейс IDataSet
Набор данных реализует интерфейс
   IDataSet = interface(IUnknown)
    ['{3CED7395-8482-4EF6-8A15-7744348063C2}']
    function Get_FieldCount: Integer; safecall;
    function Get_FieldName(Index: Integer): WideString; safecall;
    function Get_Field(FieldIndex: OleVariant): OleVariant; safecall;
    procedure Next; safecall;
    function Eof: WordBool; safecall;
  end;
Набор данных представляет собой однонаправленный курсор, каждая строка которого является набором именованных и нумерованных полей.
  • процедура Next осуществляет переход к следующей записи курсора.
  • функция Eof возвращает True в случае достижения конца курсора.
  • функция Get_FieldCount возвращает количество полей в строке курсора.
  • функция Get_FieldName возвращает имя поля с номером Index.
  • функция Get_Field возвращает значение поля, имя или номер которого задан параметром (если строка, то имя, если число, то номер). Допустимо возвращать значение Null для пустых полей.


Интерфейс INamedItemInfo

(одним файлом)
Интерфейс INamedItemInfo
Каждый элемент метаданных (таблица, поле, тип) обязательно реализует интерфейс
  INamedItemInfo = interface(IUnknown)
    ['{14894363-28DA-4E71-B0BC-9C5CE811BC8F}']
    function Get_Name: WideString; safecall;
    function Get_Caption: WideString; safecall;
    function Get_ID: WideString; safecall;
  end;

Именованный элемент имеет имя, наименование и идентификатор. Имя используется для именования сущности в сформированном SQL-запросе, идентификатор необходим для идентификации сущности в рамках провайдера, таблицы и типы данных имеют глобальное пространство идентификаторов, поля имеют уникальные идентификаторы в пределах последовательности наследуемых таблиц. Никаких ограничений на значения идентификаторов, кроме уникальности, не накладывается.

  • функция Get_Name возвращает имя сущности.
  • функция Get_Caption возвращает наименование сущности.
  • функция Get_ID возвращает идентификатор сущности.


Интерфейс ITableInfo

(раздел целиком) (одним файлом)
Интерфейс ITableInfo
Информация о таблице представляется объектом через интерфейс (наследник INamedItemInfo )
  ITableInfo = interface(INamedItemInfo)
    ['{3FC1998A-9031-4936-82B5-8CAA2219085E}']
    function Get_FieldCount: Integer; safecall;
    function Get_Field(Index: Integer): IFieldInfo; safecall;
    function Get_PrimaryKey: IFieldInfo; safecall;
    function Get_Uplink: IFieldInfo; safecall;
    function Get_Parent: ITableInfo; safecall;
  end;
  • функция Get_FieldCount возвращает количество полей в таблице.
  • функция Get_Field возвращает ссылку на поле с номером Index. Ссылка на интерфейс IFieldInfo
  • функция Get_PrimaryKey возвращает ссылку на поле, являющееся первичным ключем. Это поле должно быть задано.
  • функция Get_Uplink возвращает ссылку на поле, осуществляющее иерархическую связь между записями таблицы. Если это поле задано, записи отображаются в виде иерархии.
  • функция Get_Parent возвращает ссылку на родительскую таблицу. Дочерняя таблица связана с родительской первичными ключами, т. е. соотношением 1:1. Если таблица не имеет родительской, возвращается nil.
  • Интерфейс ITableInfo2
  • Интерфейс ITableInfo3


Интерфейс ITableInfo2

(одним файлом)
Интерфейс ITableInfo2
Для таблиц, имеющих полиморфные ссылки, реализуется интерфейс (наследник ITableInfo )
  ITableInfo2 = interface(ITableInfo)
    ['{9DF4C8AC-1DA2-4E7B-BF44-7EDD7A269418}']
    function Get_PolymorphCount: Integer; safecall;
    function Get_PolymorphTable(Index: Integer): ITableInfo; safecall;
    function Get_PolymorphField(Index: Integer): IFieldInfo; safecall;
  end;
Полиморфной ссылкой является, например, ссылка, физически размещенная в родительской таблице, указывающая на свою запись. Реализация этого интерфейса не является обязательной.
  • функция Get_PolymorphCount возвращает количество полиморфных ссылок.
  • функция Get_PolymorphTable возвращает ссылку на таблицу, на которую указывает полиморфная ссылка номер Index.
  • функция Get_PolymorphTable возвращает ссылку на поле, реализующее полиморфную ссылку номер Index. Это поле должно иметь тип dtReference, информация о его типе должна реализовать интерфейс IReferenceInfo. Значение, возвращаемое функцией Get_TargetTable этого интерфейса в данном случае не имеет значения и игнорируется.
См. также
  • Интерфейс IReferenceInfo


Интерфейс ITableInfo3

(одним файлом)
Интерфейс ITableInfo3
Для таблиц, при запросах к которым требуется наложение дополнительных условий отбора, реализуется интерфейс (наследник ITableInfo )
  ITableInfo3 = interface(ITableInfo)
    ['{3FB73AA9-010C-48DA-81C7-E1DCFE2E6136}']
    function GetPersistentClause(const Alias: WideString): WideString; safecall;
    function GetPreConditionsCount: Integer; safecall;
    function GetPreConditionCaption(Index: Integer): WideString; safecall;
    function GetPreConditionCategory(Index: Integer): WideString; safecall;
    function Get_ActivePreCondition(Index: Integer): WordBool; safecall;
    procedure Set_ActivePreCondition(Index: Integer; Value: WordBool); safecall;
    function GetPreConditionParamsCount(Index: Integer): Integer; safecall;
    function GetPreConditionParam(Index: Integer; PreConditionIndex: Integer): IOptionInfo; safecall;
  end;
  • функция GetPersistentClause возвращает выражение дополнительного условия отбора. Алиас таблицы передается в параметре Alias.


Интерфейс IFieldInfo

(одним файлом)
Интерфейс IFieldInfo
Информация о поле поставляется объектом, реализующим интерфейс (наследник INamedItemInfo )
  IFieldInfo = interface(INamedItemInfo)
    ['{19054DAD-8D35-4B39-8EB7-FD3254BD2934}']
    function Get_TypeInfo: ITypeInfo; safecall;
    function Get_DisplayMode: TDisplayMode; safecall;
  end;
  • функция Get_DisplayMode возвращает роль поля при показе таблицы. Возможные значения (тип TDisplayMode):
    • dmAlways - поле является ключевым, всегда показывается
    • dmNever - поле является служебным (первичным ключем, например). Никогда не показывается.
    • dmOnDemand - поле является обычным информационным, показывается по требованию пользователя.
  • функция Get_TypeInfo возвращает ссылку на информацию о типе данных поля. Возвращаете ссылку на один из интерфейсов-наследников интерфейса ITypeInfo


Интерфейс ITypeInfo

(раздел целиком) (одним файлом)
Интерфейс ITypeInfo
Информация о типах полей поставляется в виде набора объектов, каждый из которых реализует интерфейс (наследник INamedItemInfo )
  ITypeInfo = interface(INamedItemInfo)
    ['{2B6A5E20-3C36-4574-89DB-7C873A5C4A00}']
    function Get_Required: WordBool; safecall;
    function Get_SimpleType: TSimpleType; safecall;
  end;
Информация о конкретном типе передается при помощи реализации одного из наследников этого интерфейса.
  • функция Get_Required возвращает True, если значение поля обязательно для задания.
  • функция Get_SimpleType возвращает информацию о простом типе данных. В зависимости от возвращаемого значения объект должен также реализовывать один из интерфейсов конкретных типов (см. далее). Возможные значения (тип TSimpleType ):
    • dtString - строковый тип. Обязательно реализуется интерфейс IStringInfo
    • dtInteger - целочисленный тип. Обязательно реализуется интерфейс IIntegerInfo
    • dtFloat - вещественный тип. Обязательно реализуется интерфейс IFloatInfo
    • dtDate - тип "дата". Обязательно реализуется интерфейс IDateInfo
    • dtTime - тип "время". Обязательно реализуется интерфейс ITimeInfo
    • dtDateTime - тип "дата со временем". Обязательно реализуется интерфейс IDateTimeInfo
    • dtBoolean - логический тип. Обязательно реализуется интерфейс IBooleanInfo
    • dtEnumeration - перечисление. Обязательно реализуется интерфейс IEnumerationInfo
    • dtReference - ссылка. Обязательно реализуется интерфейс IReferenceInfo
    • dtBlob - Большой двоичный объект. Обязательно реализуется интерфейс IBlobInfo.
  • Интерфейс ITypeInfo2
  • Интерфейс IStringInfo
  • Интерфейс IIntegerInfo
  • Интерфейс IFloatInfo
  • Интерфейс IDateInfo
  • Интерфейс ITimeInfo
  • Интерфейс IDateTimeInfo
  • Интерфейс IBooleanInfo
  • Интерфейс IEnumerationInfo
  • Интерфейс IReferenceInfo
  • Интерфейс IBlobInfo


Интерфейс ITypeInfo2

(одним файлом)
Интерфейс ITypeInfo2
Информация о предоставляемых провайдером дополнительных возможностях фильтрации (наследник интерфейса ITypeInfo)
  ITypeInfo2 = interface(ITypeInfo)
    ['{77F58BDF-F01C-40F3-B193-1027AD8C4EDA}']
    function GetSpecialFilterCount: Integer; safecall;
    function GetSpecialFilterText(Index: Integer): WideString; safecall;
    function EditSpecialFilter(Index: Integer; var Filter: WideString): WordBool; safecall;
  end;
  • функция GetSpecialFilterCount возвращает количество дополнительных элементов списка, выпадающего при выборе фильтра по колонке.
  • функция GetSpecialFilterText возвращает текст дополнительного элемента списка, выпадающего при выборе фильтра по колонке, с номером Index.
  • функция EditSpecialFilter вызывается в момент выбора пользователем дополнительного элемента списка, выпадающего при выборе фильтра по колонке, с номером Index. Значение выражения фильтра передается и возвращается в параметре Filter. Функция возвращает True в случае, если выражение, возвращенное в параметре Filter нужно применить для фильтрации столбца запроса, False - в противном случае.


Интерфейс IStringInfo

(одним файлом)
Интерфейс IStringInfo
Информация о строковом типе (наследник интерфейса ITypeInfo)
  IStringInfo = interface(ITypeInfo)
    ['{74AC4C03-E803-421B-B30D-1A2D2C49827F}']
    function Get_Length: Integer; safecall;
  end;
  • функция Get_Length возвращает максимальную длину строки.


Интерфейс IIntegerInfo

(одним файлом)
Интерфейс IIntegerInfo
Информация о целочисленном типе (наследник интерфейса ITypeInfo)
  IIntegerInfo = interface(ITypeInfo)
    ['{9003B25E-926D-42AE-A907-813DF3A8343E}']
    function Get_MaxValue: Integer; safecall;
    function Get_MaxValueUsed: WordBool; safecall;
    function Get_MinValue: Integer; safecall;
    function Get_MinValueUsed: WordBool; safecall;
  end;
  • функция Get_MaxValueUsed возвращает True, если значение имеет верхнюю границу.
  • функция Get_MaxValue возвращает верхнюю границу значения, если есть.
  • функция Get_MinValueUsed возвращает True, если значение имеет нижнюю границу.
  • функция Get_MinValue возвращает нижнюю границу значения, если есть.


Интерфейс IFloatInfo

(одним файлом)
Интерфейс IFloatInfo
Информация о вещественном типе (наследник интерфейса ITypeInfo )
  IFloatInfo = interface(ITypeInfo)
    ['{E9B56C6D-47DC-4AB9-9E80-6EEF77708704}']
    function Get_MaxValue: Double; safecall;
    function Get_MaxValueUsed: WordBool; safecall;
    function Get_MinValue: Double; safecall;
    function Get_MinValueUsed: WordBool; safecall;
    function Get_Precision: Integer; safecall;
    function Get_Scale: Integer; safecall;
  end;
  • функция Get_MaxValueUsed возвращает True, если значение имеет верхнюю границу.
  • функция Get_MaxValue возвращает верхнюю границу значения, если есть.
  • функция Get_MinValueUsed возвращает True, если значение имеет нижнюю границу.
  • функция Get_MinValue возвращает нижнюю границу значения, если есть.
  • функция Get_Precision возвращает максимальное количество значащих десятичных цифр в значении.
  • функция Get_Scale возвращает максимальное количество десятичных цифр после запятой.


Интерфейс IDateInfo

(одним файлом)
Интерфейс IDateInfo
Информация о типе "Дата" (без времени) (наследник интерфейса ITypeInfo )
  IDateInfo = interface(ITypeInfo)
    ['{DA392510-105F-4655-9A38-18ECA2FBEB97}']
  end;
Не имеет методов.


Интерфейс ITimeInfo

(одним файлом)
Интерфейс ITimeInfo
Информация о типе "Время" (без даты) (наследник интерфейса ITypeInfo )
  ITimeInfo = interface(ITypeInfo)
    ['{D7067CAC-67A5-41DB-8D95-40409D8658AB}']
  end;
Не имеет методов.


Интерфейс IDateTimeInfo

(одним файлом)
Интерфейс IDateTimeInfo
Информация о типе "Дата со времемем" (наследник интерфейса ITypeInfo )
  IDateTimeInfo = interface(ITypeInfo)
    ['{7F5CC8F9-8CE1-4DB7-8932-884EF3BAB538}']
  end;
Не имеет методов.


Интерфейс IBooleanInfo

(одним файлом)
Интерфейс IBooleanInfo
Информация о логическом типе (наследник интерфейса ITypeInfo )
  IBooleanInfo = interface(ITypeInfo)
    ['{8256EDF9-8613-4970-850C-50047839D6BF}']
    function Get_TrueValue: WideString; safecall;
    function Get_FalseValue: WideString; safecall;
  end;
  • функция Get_TrueValue возвращает отображаемую строку для значения True (например, "Да").
  • функция Get_FalseValue возвращает отображаемую строку для значения False (например, "Нет").


Интерфейс IEnumerationInfo

(одним файлом)
Интерфейс IEnumerationInfo
Информация о перечислимом типе (наследник интерфейса ITypeInfo )
  IEnumerationInfo = interface(ITypeInfo)
    ['{B58A3F23-1AAC-4420-ADFF-B23B9938A994}']
    function Get_ItemCount: Integer; safecall;
    function Get_Item(Index: Integer): IEnumerationItem; safecall;
  end;
Перечислимый тип определяет набор значений, которые может принимать поле. Значения в таблице трактуются как равные имени элемента перечисления.
  • функция Get_ItemCount возвращает количество элементов перечисления.
  • функция Get_Item возвращает ссылку на элемент перечисления с номером Index, реализующий интерфейс IEnumerationItem


Интерфейс IReferenceInfo

(одним файлом)
Интерфейс IReferenceInfo
Информация о типе "ссылка" (наследник интерфейса ITypeInfo )
  IReferenceInfo = interface(ITypeInfo)
    ['{309C8CB1-4A1C-4E58-BC3F-D1AF27861A8F}']
    function Get_TargetTable: ITableInfo; safecall;
  end;
  • функция Get_TargetTable возвращает ссылку на таблицу, с которой осуществляется связь. Возвращается ссылка на интерфейс ITableInfo


Интерфейс IBlobInfo

(одним файлом)
Интерфейс IBlobInfo
Информация о типе "больших двоичных объектов" (наследник интерфейса ITypeInfo )
  IBlobInfo = interface(ITypeInfo)
    ['{3905C9C4-EAEB-4844-BB55-3F524F1F3FAC}']
    function Get_SubType: TBlobSubType; safecall;
  end;
  • функция Get_SubType возвращает подтип большого двоичного объекта. Одно из следующих значений (тип TBlobSubType ):
    • bsText - текст
    • bsImage - изображение
    • bsBinary - двоичные данные


Интерфейс IEnumerationItem

(одним файлом)
Интерфейс IEnumerationItem
Информация об элементе перечисления (наследник INamedItemInfo )
  IEnumerationItem = interface(INamedItemInfo)
    ['{6953507C-D477-4B8D-9443-A9E5FE7137ED}']
    function Get_Position: Integer; safecall;
  end;
Значения в таблице трактуются как равные имени элемента перечисления.
  • функция Get_Position возвращает позицию элемента перечисления.
См. также
  • Интерфейс IEnumerationInfo


Использование провайдера БД Парус8

(раздел целиком) (одним файлом)
Использование провайдера БД Парус8
  • Использование пользовательских приложений.
  • Информация о базе данных


Использование пользовательских приложений.

(одним файлом)
Использование пользовательских приложений.
Библиотека ParusInfoProvider.dll содержит реализацию провайдера для БД Парус8. Провайдер реализует, в дополнение к обязательным, интерфейс, позволяющий управлять им посредством механизма "Пользовательских приложений":
  IParusProvider = interface(IDispatch)
    ['{4864AE99-80E6-4FC6-9DB0-EAB248F72362}']
    procedure Connect(const Database: WideString;
      const UserName: WideString;
      const Password: WideString); safecall;
    property QueryObject: OleVariant;
    property StoredProcObject: OleVariant;
  end;
Объект-провайдер может установить связь с БД либо самостоятельно с использованием переданных в метод Connect параметров соединения, либо с помощью объектов Query и StoredProc , предоставляемых системой Парус8 для использования в пользовательских приложениях. В свою очередь, созданный провайдер с установленным соединением может быть передан в метод Execute объекта QueryBuilder.Application . Вторым параметром может быть передано значение, представляющее структуру запроса. Это может быть либо строка с указанием имени файла, либо объект, реализующий интерфейс IStream (например, MSXML.DOMDocument ), либо строка, представляющая собой xml-документ. Все средства манипуляции структурой и поведением запроса предоставляются на уровне работы с xml-документом, описывающим запрос.
Пример скрипта пользовательского приложения на DelphiScript

procedure QueryBuilderTest;
var
  LApplication: OleVarint;
  LProvider: OleVarint;
  LDocument: OleVariant;
begin
  //описание структуры запроса. Из BLOB, из файла, из строки - откуда угодно
  LDocument := CreateOleObject('MSXML.DOMDocument');
  //LDocument реализует IXMLDOMDocument и IStream
  LDocument.loadXML('<Query Provider="{B3079C97-6EBC-43EB-880F-58F094B322B0}">' +
    '<Item Type="Table" Table="AGNLIST" Alias="MAIN" TableAlias="MAIN">'  +
      '<Item ColumnIndex="0" Type="Field" Field="AGNABBR" Table="AGNLIST" ' +
        'Alias="MAIN_AGNABBR" TableAlias="MAIN"/>' +
      '<Item ColumnIndex="1" Type="Field" Field="VERSION" Table="AGNLIST" ' +
        'Alias="MAIN_VERSION" TableAlias="MAIN"/>' +
    '</Item>' +
  '</Query>');

  //Скрытие дерева структуры
  LDocument.documentElement.setAttribute('TreeWidth', 0);

  //Наложение условий отбора на колонку
  LDocument.selectSingleNode('/*/Item/Item[@Field="AGNABBR" and @Table="AGNLIST"]').
    setAttribute('ColumnFilter', 'Б*');

  //Переименование колонки
  LDocument.selectSingleNode('/*/Item/Item[@Field="VERSION" and @Table="AGNLIST"]').
    setAttribute('Caption', 'Версия');

  //создание провайдера и передача ему объектов для соединения с БД
  LProvider := CreateOleObject('ParusInfoProvider.ParusProvider');
  LProvider.QueryObject := Query;
  LProvider.StoredProcObject := StoredProc;

  //создание и использование объекта-приложения QueryBuilder
  LApplication := CreateOleObject('QueryBuilder.Application');

  //В качестве второго параметра передается ОБЪЕКТ, через
  //   IStream содержащий структуру запроса
  LApplication.Execute(LProvider, LDocument);
  LApplication.Visible := True;

  //Ожидание завершения работы с приложением
  repeat
    Application.ProcessMessages;
  until not LApplication.Visible;

end;
Интерфейс автоматизации поддерживает также метод для автоматического применения шаблона для переноса в Excel.
Допустим, .MQR-файл, описывающий запрос, содержащий шаблон с именем "Простой Перенос" загружен в раздел "Модули пользовательских приложений" с мнемокодом "QueryData". Для этого необходимо создать модуль пользовательского приложения с типом "COM-сервер" или "Надстройка Excel" и загрузить из файла .MQR-файл. Проверки соответствия формата загружаемого файла заявленному типу модуля пользовательского приложения Парус не производит, что позволяет воспользоваться этим трюком. Тогда:
procedure QueryBuilderTemplateTest;
var
  LApplication: OleVarint;
  LProvider: OleVarint;
  S: string;
begin
  Query.SQL.Text := 'select BMODULE from V_UAMODULES where SCODE = :CODE';
  //мнемокод модуля пользовательского приложения, содержащего
  //загруженный .MQR-файл
  Query.ParamByName('CODE').Value := 'QueryData';
  Query.Open;
  S := Query.FieldByName('BMODULE').AsString;
  Query.Close;

 //создание провайдера и передача ему объектов для соединения с БД
  LProvider := CreateOleObject('ParusInfoProvider.ParusProvider');
  LProvider.QueryObject := Query;
  LProvider.StoredProcObject := StoredProc;

  //создание и использование объекта-приложения QueryBuilder
  LApplication := CreateOleObject('QueryBuilder.Application');

  //В качестве второго параметра передается СТРОКА, содержащая xml с описанием
  //структуры запроса и шаблоны для переноса в Excel
  LApplication.ExecuteTemplate(LProvider, S, 'Простой Перенос');
end;


Информация о базе данных

(одним файлом)
Информация о базе данных
Провайдер Парус8 предоставляет информацию о четырех типах таблиц:
  1. Представление, описанное при помощи метаданных Парус8 как "вызываемое с клиента". В этом случае полями таблицы являются описанные атрибуты класса с соответствующими типами.
  2. Таблица, имеющая клиентский доступ и связанная с разделом, не имеющим ни одного описанного доступного представления, но имеющим описанные физические атрибуты. Информация о полях берется из метаданных Парус8
  3. Таблица, имеющая клиентский доступ и связанная с разделом, не имеющим ни одного описанного доступного представления, и не имеющим описанных атрибутов. Информация о полях берется из метаданных Oracle.
  4. Таблица, имеющая клиентский доступ и не связанная ни с каким разделом. Информация о полях берется из метаданных Oracle.


Разработка шаблонов

(раздел целиком) (одним файлом)
Разработка шаблонов

Шаблон представляет собой обычную рабочую книгу Excel.

Шаблоны для переноса данных в Excel физически интегрируются внутрь .MQR-файла и хранятся вместе с запросом. Разработку шаблона можно вести независимо, используя только Microsoft Excel (запуская его самостоятельно), а потом загрузить в файл запроса, а можно воспользоваться пунктом меню "Редактировать" на странице "Шаблоны".

Для взаимодействия с источником данных рабочая книга-шаблон должна содержать в любом модуле макрос с именем "Template" (без кавычек) с одним параметром. При выполнении переноса данных по этому шаблону QueryBuilder произведет вызов этого метода, передав в качестве фактического значения параметра объект, реализующий интерфейс IExternalQuery. Никаких других требований к рабочей книге-шаблону не выдвигается.
В примере показан запрос на таблицу AGNLIST (провайдер Oracle), показывающий как простой перенос данных, так и сводную таблицу со сводной диаграммой распределения записей таблицы по полю CRN.
Пример запроса с шаблонами
В примере показан запрос на таблицу "TField" (провайдер Мельницы Данных), показывающий как простой перенос данных, так и сводную таблицу со сводной диаграммой распределения записей таблицы.
Пример запроса с шаблонами для Мельницы Данных`

  • Интерфейс IExternalQuery
  • Интерфейс IExternalDataSet


Интерфейс IExternalQuery

(одним файлом)
Интерфейс IExternalQuery
Объект, реализующий этот интерфейс, передается в макрос генерации отчета Excel (Template). Все его свойства и методы доступны для испоьзования в процессе генерации отчета
  IExternalQuery = interface(IDispatch)
    ['{1A86D1DA-A56E-4D53-88F9-7A035D7D12B4}']
    function Select(const SQL: WideString): IExternalDataSet; safecall;
    function SelectedRecordsCount: Integer; safecall;
    function SelectedRecord(Index: Integer): OleVariant; safecall;
    procedure PlaceCurrentQuery(const Sheet: IDispatch;
      CaptionsNeeded: WordBool = False; Row: Integer = 1;
      Column: Integer = 1; ShiftRows: WordBool = True;
      ShiftColumns: WordBool = False); safecall;
    procedure PlaceQuery(const Sheet: IDispatch; const DataSet: ExternalDataSet;
      Row: Integer = 1; Column: Integer = 1; ShiftRows: WordBool = True;
      ShiftColumns: WordBool = False); safecall;
    property CurrentQuery: WideString;
  end;
  • функция Select возвращает объект, реализующий интерфейс IExternalDataSet с данными, полученными в результате запроса, заданного параметром SQL. Фактически метод является оберткой метода Perform объекта-провайдера IInfoProvider
  • функция SelectedRecordsCount возвращает количество записей, отмеченных пользователем в гриде в момент выгрузки в Excel
  • функция SelectedRecord возвращает первичный ключ отмеченной пользователем записи с номером Index
  • процедура PlaceCurrentQuery осуществляет перенос в указанное положение указанного рабочего листа данных текущего табличного представления. Параметр Sheet указывает на рабочий лист Excel, на который будет осуществляться перенос, параметр CaptionsNeeded определяет необходимость переноса заголовков колонок, параметры Row и Column определяют соответственно номер строки и столбца на рабочем листе Excel, начиная с которых будут расположены данные. Параметр ShiftRows определяет необходимость сдвига строк вниз при переносе данных (информация в ячейках, лежащих НИЖЕ строки, определенной параметром Row, будет либо затерта, либо сдвинута на требуемое число строк вниз. Параметр ShiftColumns определяет необходимость сдвига колонок вправо при переносе данных (информация в ячейках, лежащих ПРАВЕЕ столбца, определенного параметром Column, будет либо затерта, либо сдвинута на требуемое число строк вниз.
  • процедура PlaceQuery осуществляет перенос в указанное положение указанного рабочего листа данных заданного параметром DataSet набора данных. Параметр Sheet указывает на рабочий лист Excel, на который будет осуществляться перенос, параметр CaptionsNeeded определяет необходимость переноса заголовков колонок, параметры Row и Column определяют соответственно номер строки и столбца на рабочем листе Excel, начиная с которых будут расположены данные. Параметр ShiftRows определяет необходимость сдвига строк вниз при переносе данных (информация в ячейках, лежащих НИЖЕ строки, определенной параметром Row, будет либо затерта, либо сдвинута на требуемое число строк вниз. Параметр ShiftColumns определяет необходимость сдвига колонок вправо при переносе данных (информация в ячейках, лежащих ПРАВЕЕ столбца, определенного параметром Column, будет либо затерта, либо сдвинута на требуемое число строк вниз.
  • свойство CurrentQuery возвращает строку запроса, на основе которого постоено текущее табличное представление.
См. также
  • Интерфейс IInfoProvider


Интерфейс IExternalDataSet

(одним файлом)
Интерфейс IExternalDataSet
Фактически, обертка над интерфейсом IDataSet .
  IExternalDataSet = interface(IDispatch)
    ['{CDC7992C-BB30-431C-9F81-3215175AD5AB}']
    procedure Next; safecall;
    function Eof: WordBool; safecall;
    property FieldCount: Integer;
    property FieldName[Index: Integer]: WideString;
    property Field[FieldIndex: OleVariant]: OleVariant;
  end;
Набор данных представляет собой однонаправленный курсор, каждая строка которого является набором именованных и нумерованных полей.
  • процедура Next осуществляет переход к следующей записи курсора.
  • функция Eof возвращает True в случае достижения конца курсора.
  • свойство FieldCount возвращает количество полей в строке курсора.
  • свойство FieldName возвращает имя поля с номером Index.
  • свойство Field возвращает значение поля, имя или номер которого задан параметром (если строка, то имя, если число, то номер). Допустимо возвращать значение Null для пустых полей.
См. также
  • Интерфейс IDataSet


Интерфейс автоматизации

(одним файлом)
Интерфейс автоматизации
Взаимодействие внешних приложений с QueryBuilder'ом осуществляется при помощи интерфейса
  IApplication = interface(IDispatch)
    ['{0E59D500-7A6A-43CA-8007-B7BB7E393CD4}']
    procedure Execute(const Provider: IUnknown; var Query: OleVariant); safecall;
    procedure ExecuteTemplate(const Provider: IUnknown; var Query: OleVariant;
      const TemplateName: WideString); safecall;
    property Visible: WordBool;
  end;
  • Свойство Visible определяет видимость приложения
  • Процедура Execute осуществляет выполнение запроса. Первым параметром является объект-провайдер (созданный заранее внешним образом и установивший соединение с БД также заранее). Вторым параметром может быть передано значение, представляющее структуру запроса. Это может быть либо строка с указанием имени файла, либо объект, реализующий интерфейс IStream (например, MSXML.DOMDocument ), либо строка, представляющая собой xml-документ. Все средства манипуляции структурой и поведением запроса предоставляются на уровне работы с xml-документом, описывающим запрос.
  • Процедура ExecuteTemplate осуществляет выполнение запроса и применяет к результатам шаблон с именем, переданным в параметре TemplateName. Первые два параметра аналогичны параметрам метода Execute
Интерфейс автоматизации может быть использован в тех случаях, когда необходима интергация QueryBuilder'a в третьестороннюю информационную систему.


Мельница данных ((раздел целиком))

Мельница данных- Класс TDomain (Домены) (раздел целиком) (23.04.2022) (одним файлом)
Класс TDomain (Домены)
Унаследован от класса TObject (Объекты) .

1. Встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей)
GetDependencyCount: Integer (Целое) .

Текст выражения:

count(TField with Domain = Self) +
count(TProperty with Domain = Self) +
count(TRoutine with Domain = Self) +
count(TParameter with Domain = Self) +
count(TOption with Domain = Self)

Используется для вычисления значений свойства TDomain.DependencyCount (Количество зависимостей)
.

2. Конструктор TDomain.Create (Конструктор домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TDomain (Домены) .

3. Поле TDomain.FRequired (Обязательно для заполнения)
FRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDomain.Required (Обязательно для заполнения)
TField.DomainRequired (Обязательно для заполнения)
TInlineExpression.DomainRequired (Обязательно для заполнения)
TProperty.DomainRequired (Обязательно для заполнения)
TParameter.DomainRequired (Обязательно для заполнения)
TOption.DomainRequired (Обязательно для заполнения)
.

4. Свойство TDomain.DependencyCount (Количество зависимостей)
DependencyCount: Integer (Целое) . Вычисление свойства отложено.

Для чтения значения свойства используется встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей) .

5. Свойство TDomain.Required (Обязательно для заполнения)
Required: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .


Мельница данных ((раздел целиком))

Мельница данных- Взаимодействие с разработчиком в случае ошибок, проблем, вопросов по работе системы (раздел целиком) (23.04.2022) (одним файлом)
Взаимодействие с разработчиком в случае ошибок, проблем, вопросов по работе системы

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

Общими принципами сбора информации для обращения к разработчику должны быть:

  1. Необходимо быть готовым изложить последовательность действий пользователя в системе, начиная с открытия системы до ситуации, приводящей к ошибке, проблемной ситуации или ситуации, вызывающей вопрос.
  2. Если ошибка или проблема имеет визуальное проявление, нужно сделать скриншот (снимок) экрана. Желательно предоставлять скриншот всего экрана компьютера, а не только активного окна приложения, это даст разработчику дополнительную полезную информацию. Скришот экрана при работе в операционной системе MS Windows можно получить путем одновременного нажатия клавиш Ctrl + Print Screen (PrtScr) и последующей вставки (сочетание клавиш Shift + Ins) в какое-либо графическое приложение, например, программу Paint.
  3. Если ошибка заключается не в отображении специального окна с сообщением об ошибке, а в том, что результат работы системы является, с точки зрения пользователя, некорректным, то нужно быть готовым изложить, каким должен быть корректный результат, и чем именно результат работы системы некорректен.
  4. Если ошибка, проблема или вопрос связаны с работой третьесторонних приложений (например, отчеты, формируемые в MS Excel или MS Word, работа web-приложений системы посредством интернет-браузеров), нужно быть готовым предоставить информацию о версии третьесторонних приложений.
  5. Нужно быть готовым предоставить информацию о конфигурации рабочего места пользователя, версии операционной системы, установленном программном обеспечении и его версии, включая средства анитивирусной защиты.

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

1. Приложение Отладочный монитор

Приложение Отладочный монитор (DebugView.exe) устанавливается при установке платформы в любой конфигурации, предусмотренной по умолчанию, включая конфигурацию "Рабочее место пользователя". Открыть приложение можно при помощи иконки:

Иконка Debug Monitor

Когда приложение Отладочный монитор запущено, приложение Обозреватель данных выводит в него поток сообщений о действиях и событиях, происходящих в системе. В Отладочный монитор попадают все sql-запросы, направляемые с рабочего места пользователя на сервер баз данных (в случае удаленного подключения - html-запросы, направляемые на сервер приложений), информационные сообщения, предупреждения, отладочная информация, сообщения об ошибках и прочие данные.

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

  1. Закрыть приложение Обозреватель данных, если оно было открыто.
  2. Запустить приложение Отладочный монитор. Если это приложение уже было открыто, то выполнить очитку всех имеющихся в нем сообщений при помощи кнопки Очистить.
  3. В приложение Обозреватель данных выполнить всю последовательность действий, приводящих в появлению ошибки или проблемной ситуации.
  4. После возникновения ошибки или проблемной ситуации в приложении Отладочный монитор нажать кнопку Сохранить в файл, выбрать место сохранения и задать имя файла. Файл будет сохранен в формате.txt.
  5. Отправить полученный.txt-файл разработчику в составе других информационных материалов, которыми должны быть:
    • Словесное описание проблемы и способа ее воспроизведения
    • Один или несколько скриншотов экрана, иллюстрирующих проблему

После получения информации, состав которой описан в пункте 5, разработчик может запросить дополнительную информацию о проблеме.

2. Получение файла, содержащего информацию об ошибке

В ходе работы с системой могут отображаться специальные окна с информацией об ошибках. Эти окна могут быть двух видов:

  1. Окно с информацией о недопустимом действии пользователя (окно с шапкой синего цвета):

    Окно ошибки. Синяя шапка.

    Как правило, отображение такого окна с информацией об ошибке свидетельствует не об ошибке в функциональности системы, а о том, что пользователем выполнено недопустимое действие. Информация о том, в чем именно действие не допустимо, содержится в тексте, отображаемом в окне. Например, на приведенном выше скриншоте мы видим окно с ошибкой, отображено после попытки пользователя создать в справочнике "Уровни образования и курсы" второй записи с именем "1 курс", подчиненной родительской записи "Бакалавриат", что недопустимо. Поэтому сообщение об ошибке говорит о дублировании объекта по полю Имя.

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

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

  2. Окно с информацией об ошибке системы (окно с шапкой красного цвета).

    Окно ошибки. Красная шапка.

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

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

Сохранение информации для направления разработчику.

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

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

Информация для службы поддержки

При помощи ссылки Сформировать файл для службы поддержки можно собрать в удобном виде наиболее полную и полезную для разработчика информацию. После нажатия на ссылку будет предложен диалог сохранения файла. По умолчанию файлу будет дано имя ExceptionInfo.err. Это имя можно изменить, но расширение необходимо файла сохранить. После выбора места сохранения и имени файла и нажатия кнопки Сохранить, система отобразить предупреждение:

Предупреждение при сохранении файла для службы поддержки

К данному предупреждению нужно отнестись ответственно - отправлять полученный файл только на адреса службы поддержки системы в вашей организации или на официальный контактный адрес разработчика (если вы взаимодействуете с разработчиком напрямую). После отправки этот файл необходимо удалить.

Предоставление разработчику информации в виде.err-файла - это самый удобный и надежный вариант взаимодействия, который даст возможность разработчику решить проблему или ответить на вопрос наиболее эффективным и быстрым образом. Данный файл содержит все виды информации, которые могут быть собраны другими способами:

  • Информацию об ошибке, которая отображается по ссылке "Показать информацию для службы поддержки"
  • Сообщения Отладочного монитора, собранные за некоторое время до возникновения ошибки
  • Скриншоты экрана пользователя, включая скриншот окна с информацией об ошибке.

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

Если вы хотите обратиться к разработчику по поводу ситуации, которая не сопровождается отображением окна с ошибкой, то.err-файл можно получить следующим образом: нужно кликнуть левой кнопкой мыши по иконке с мельницей в левом углу заголовка окна текущей формы и из выпадающего меню выбрать пункт Сохранить файл для службы поддержки.

Получение файла для службы поддержки

3. Получение информации о третесторонних приложениях

В случае, если ошибка произошла при взаимодействии системы с третьесторонним приложением, например, при выполнении отчета MS Excel, MS Word, pdf, при работе web-приложений системы через интернет-браузер, разработчику, в дополнение к файлу с информацией об ошибке, понадобится информация о версии третьестороннего приложения, при взаимодействии с которым произошла ошибка.

Получить информацию о версии приложения можно, как правило, в окне О программе ("About box"), которое в большинстве программных продуктов представлено в пункте меню Справка.

Разработчику в составе информационных материалов нужно отправить скриншот этого окна.

В продуктах семейства Microsoft Office вызвать окно О программе можно разными способами в зависимости от версии MS Office. В программных продуктах версий до 2003 включительно это окно доступно в меню Справка / О программе. В программных продуктах версий 2007 и выше вызвать это окно можно следующим образом:

  1. В меню Файл открыть выпадающий список доступных действий и нажать кнопку Параметры Excel :
    Параметры Excel
  2. В открывшемся окне выбрать раздел Ресурсы, в правой части окна нажать кнопку О программе :
    Вызов окна О программе Excel

Окно О программе в случае MS Excel выглядит следующим образом:

Окно О программе Excel

В программе Acrobat Reader окно О программе можно вызвать из меню Справка / О программе :

Вызов окна О программе Acrobat Reader

В интернет-браузерах окно "О программе" (О Google Chrome, О FireFox, О Internet Explorer) также можно вызвать из меню Справка. Строка меню в интернет-браузерах часто бывает по умолчанию скрыта. Для того, чтобы ее отобразить, нужно нажать клавишу Alt на клавиатуре.


Мельница данных ((раздел целиком))

Мельница данных- Установка программного обеспечения СУБД (раздел целиком) (23.04.2022) (одним файлом)
Установка программного обеспечения СУБД

Прежде, чем устанавливать программноге обеспечение "Мельница данных" необходимо установить и настроить программное обеспечение СУБД.

Для конфигурирования сервера БД необходимо последовать советам раздела "Конфигурирование сервера". В этом разделе описаны шаги, которые необходимо предпринять для установки сервера "с нуля". Если сервер БД у вас уже установлен и настроен, то использовать рекомендации этого раздела нет необходимости. Раздел описывает установку сервера БД минимальной поддерживаемой версии в минимально необходимой для работы "Мельницы данных" конфигурации. Если вы собираетесь использовать сервер БД для более широкого круга задач, то пользуйтесь руководствами по соответствующим СУБД.
Документация по СУБД, а также любая другая информация, полученная от производителей СУБД, имеет абсолютный приоритет перед утверждениями настоящего документа.

На каждой рабочей станции должно быть установлено и настроено программное обеспечение клиентской части СУБД. Это, как правило, некий набор библиотек и компонентов, наличие которых необходимо для соединения с сервером БД. Для обеспечения рабочей станции этими компонентами необходимо последовать советам раздела Конфигурирование клиента. В этом разделе описаны шаги, которые необходимо предпринять для установки клиентской части СУБД "с нуля". Если клиентская часть СУБД у вас уже установлена и настроена, то использовать рекомендации этого раздела нет необходимости. Раздел описывает установку клиентской части СУБД минимальной поддерживаемой версии в минимально необходимой для работы "Мельницы данных" конфигурации.

В настоящий момент поддерживаемые СУБД приведены в таблице:
СУБД Минимальная
требуемая версия 		Разработчик Сопровождение в России
Firebird
Open source
1.5.4.4910 http://www.firebirdsql.org
Страница загрузки 		http://www.ibase.ru
Oracle database
Коммерческое ПО
9.2.0.1 http://www.oracle.com
Страница загрузки 		http://www.oracle.com/global/ru/index.html

1. Конфигурирование сервера

Младшая тестированная на совместимость версия - 1.5.4.4910. Использование более младшей версии на сервере недопустимо. Шаги установки примерно следующие:

  1. Первая страница содержит логотип проекта Firebird
    Установка FireBird (первая страница)
  2. Вторая страница содержит лицензионное соглашение. Для продолжения установки необходимо установить кнопку "I accept the agreement".
    Установка FireBird (вторая страница)
  3. Третья страница содержит информацию, необходимую для установки.
    Установка FireBird (третья страница)
  4. Четвертая страница позволяет указать папку на диске, в которую будут установлены файлы Firebird.
    Установка FireBird (четвертая страница)
  5. На пятой странице определяется тип установки. Мы конфигурируем сервер БД, и, соответственно, выбираем из выпадающего списка пункт "Full installation of Server and development tools". Необходимо определиться с выбором между различными архитектурами сервера. Если вы затрудняетесь в выборе между вариантами архитектуры сервера, то помните, что для однопроцессорных систем предпочтительнее Super Server, для многопроцессорных используется только Classic Server. Подробности можно посмотреть на сайте сопровождающей компании или на сайте проекта. Особое внимание требуется обратить на работу сервера на процессоре в режиме HyperThreading.
    Установка серверной части FireBird - выбор типа установки
  6. На шестой странице предлагается выбрать имя папки меню "Пуск", в которой будут созданы полезные ярлыки. В нашем случае ярлыки будут созданы для файлов документации, бесполезной в конечном счете для конечного пользователя. Поэтому мы ставим флажок "Don't create any icons".
    Установка FireBird (шестая страница)
  7. На седьмой странице необходимо выбрать параметры установки. Настоятельно рекомендуется включить флажок "Use the Guardian to control the server" и запускать сервер в режиме службы, то есть выбрать кнопку "Run as a Service". Также настоятельно рекомендуется установить флажок "Start Firebird automatically everytime you boot up". Программное обеспечение "Мельница данных" использует в работе библиотеку gds32.dll , загружая ее из системного каталога Windows. Поэтому в целях обеспечения нормальной работы необходимо установить оба флажка - "Copy Firebird client library to <system> directory" и "Generate client library as GDS32.DLL for legacy app. support".
    Установка серверной части FireBird - параметры установки
  8. На восьмой странице необходимо подтвердить установку с выбранными параметрами.
    Установка серверной части FireBird - подтверждение установки
  9. После установки на девятой странице можно ознакомиться с информацией об установленной версии.
    Установка FireBird (девятая страница)
  10. Десятая страница информирует об успешном завершении установки и позволяет запустить сервер немедленно. Рекомендуется установить флажок "Start Firebird Service now".
    Установка серверной части FireBird - установка завершена

Убедиться в том, что сервер установлен и запущен, можно из окна служб (Start → Control Panel → Administrative Tools → Services):

Установленный FireBird в списке сервисов

Использование embedded-сервера вполне допустимо, с учетом ограничений, налагаемых разработчиком. Для использования embedded-сервера необходимо положить файлы (с полным путем) из архива embedded-сервера рядом с исполняемыми файлами нашей системы, и переименовать файл FBEMBED.DLL в GDS32.DLL , примерно следующим образом:

Использование FireBird Embedded

Для работы с embedded-сервером имя сервера в строке соединения указывать нельзя. Кроме того, необходимо соблюдать рекомендации и требования разработчиков сервера.

Младшая тестированная на совместимость версия - 9.2.0.1. Использование более младшей версии недопустимо.

Если вы устанавливаете Oracle не с компакт-дисков, то не пользуйтесь программой автозапуска, лежащей в корне первого установочного диска, а запустите setup.exe из каталога install\win32 на первом установочном диске.

Шаги установки примерно следующие:

  1. Первая страница содержит логотип Oracle и командные кнопки. Для продолжения установки нажмите кнопку "Next".
    Установка Oracle (первая страница)
  2. На второй странице необходимо определиться с путями установки и источника, а также с именем "дома". Настоятельно рекомендуется принять значения, предлагаемые по умолчанию.
    Установка Oracle (вторая страница)
  3. На третьей странице необходимо выбрать устанавливаемый продукт. Для сервера БД необходимо выбрать продукт "Oracle9i Database 9.2.0.1.0".
    Установка серверной части Oracle
  4. На четвертой странице необходимо выбрать тип установки. Для обеспечения требуемой функциональности выберите тип "Standard Edition".
    Установка серверной части Oracle - выбор типа установки
  5. На пятой странице необходимо выбрать параметры базы данных, создаваемой автоматически при установке сервера. Рекомендуется никакой базы данных при установке не создавать, для чего выбрать пункт "Software Only".
    Установка серверной части Oracle - отказ от автоматического создания БД
  6. На шестой странице необходимо выбрать порт TCP/IP, используемый Oracle Services for MTS. По умолчанию 2030.
    Установка серверной части Oracle - порт MTS
  7. На седьмой странице необходимо подтвердить правильность параметров установки.
    Установка серверной части Oracle - подтверждение установки
  8. После окончания процесса вы увидете сообщение об успешном завершении установки. Нажмите кнопку "Exit".
    Установка серверной части Oracle - завершено
  9. После завршения работы инсталлятора автоматически будет запущено приложение "Enterprise Manager Console". Если по каким-либо причинам этого не произошло, запустите это приложение самостоятельно через меню "Пуск". В окне "Add Databases To Tree" нажмите кнопку "Cancel".
    Установка серверной части Oracle - отказ от использования Enterprise Manager Console
  10. Из меню выберите пункт Tools → Service Management → Oracle Net Manager.
    Установка серверной части Oracle - вызов Oracle Net Manager
  11. В появивщемся окне приложения "Oracle Net Manager" раскройте узел дерева "Local", встаньте на узел дерева "Listener" и нажмите на кнопку с большим зеленым плюсом в панели инструменов (слева).
    Установка серверной части Oracle - Oracle Net Manager
  12. В появивщемся окне добавления Listener'a введите имя (по умолчанию - LISTENER). Настоятельно рекомендуется принять умолчание.
    Установка серверной части Oracle - создание Listener'a
  13. Нажмите на кнопку "Add Address" в нижней части окна.
    Установка серверной части Oracle - создание адреса Listener'a
  14. В появившемся окне отображена информация о том, каким образом клиенты будут осуществлять соединение с сервером БД. Настоятельно рекомендуется принять умолчания - протокол TCP/IP, порт 1521.
    Установка серверной части Oracle - адрес Listener'a создан
  15. Из меню выберите пункт File → Save Network Configuration
    Установка серверной части Oracle - сохранение конфигурации
  16. Служба Listener'a будет создана при первой попытке создать базу данных. Закройте приложения "Oracle Net Manager" и "Enterprise Manager Console".

2. Конфигурирование клиента

Младшая тестированная на совместимость версия - 1.5.4.4910. Использование более младшей версии на клиенте недопустимо. Шаги установки примерно следующие:

  1. Первая страница содержит логотип проекта Firebird
    Установка FireBird (первая страница)
  2. Вторая страница содержит лицензионное соглашение. Для продолжения установки необходимо установить кнопку "I accept the agreement".
    Установка FireBird (вторая страница)
  3. Третья страница содержит информацию, необходимую для установки.
    Установка FireBird (третья страница)
  4. Четвертая страница позволяет указать папку на диске, в которую будут установлены файлы Firebird.
    Установка FireBird (четвертая страница)
  5. На пятой странице определяется тип установки. Мы конфигурируем клиентскую часть, и, соответственно, выбираем из выпадающего списка пункт "Minimum client install - no server, no tools". Кнопки в списке устанавливаемых компонентов будут автоматически выставлены в правильное положение.
    Установка клиентской части FireBird - выбор типа установки
  6. На шестой странице предлагается выбрать имя папки меню "Пуск", в которой будут созданы полезные ярлыки. В нашем случае ярлыки будут созданы для файлов документации, бесполезной в конечном счете для конечного пользователя. Поэтому мы ставим флажок "Don't create any icons".
    Установка FireBird (шестая страница)
  7. На седьмой странице необходимо выбрать параметры установки. Программное обеспечение "Мельница данных" использует в работе библиотеку gds32.dll, загружая ее из системного каталога Windows. Поэтому в целях обеспечения нормальной работы необходимо установить оба флажка - "Copy Firebird client library to <system> directory" и "Generate client library as GDS32.DLL for legacy app. support".
    Установка клиентской части FireBird - параметры установки
  8. На восьмой странице необходимо подтвердить установку с выбранными параметрами.
    Установка клиентской части FireBird - подтверждение установки
  9. После установки на девятой странице можно ознакомиться с информацией об установленной версии.
    Установка FireBird (девятая страница)
  10. Десятая страница информирует об успешном завершении установки.
    Установка клиентской части FireBird - установка завершена

Младшая тестированная на совместимость версия - 9.2.0.1. Использование более младшей версии на клиенте недопустимо.

Если вы устанавливаете Oracle не с компакт-дисков, то не пользуйтесь программой автозапуска, лежащей в корне первого установочного диска, а запустите setup.exe из каталога install\win32 на первом установочном диске.

Шаги установки примерно следующие:

  1. Первая страница содержит логотип Oracle и командные кнопки. Для продолжения установки нажмите кнопку "Next".
    Установка Oracle (первая страница)
  2. На второй странице необходимо определиться с путями установки и источника, а также с именем "дома". Настоятельно рекомендуется принять значения, предлагаемые по умолчанию.
    Установка Oracle (вторая страница)
  3. На третьей странице необходимо выбрать устанавливаемый продукт. Для рабочей станции необходимо установить продукт "Oracle9i Client 9.2.0.1.0".
    Установка клиентской части Oracle
  4. На четвертой странице необходимо выбрать тип установки. Для обеспечения требуемой функциональности выберите тип "Runtime".
    Установка клиентской части Oracle - выбор типа установки
  5. На пятой странице необходимо подтвердить правильность параметров установки.
    Установка клиентской части Oracle - подтверждение установки
  6. В процессе установки инсталлятор потребует настроить параметры соединения с сервером БД. Для этого запустится отдельный мастер "Oracle Net Configuration Assistant", и процесс установки будет приостановлен на время работы этого мастера.
    Если этого по каким-либо причинам не произошло, то после завершнения установки необходимо запустить это приложение из меню "Пуск" и выполнить описанные в этом и следующих шагах действия.
    На этой (первой) странице мастера необходимо отказаться от использования службы каталогов, выбрав кнопку "No, I will create net service names myself...".
    Установка клиентской части Oracle - конфигурирование подключения к БД - не использовать directory service.
  7. На второй странице мастера необходимо выбрать версию базы данных. Базы данных версии Oracle8 в любом случае не поддерживаются "Мельницей данных", поэтому выберите кнопку "Oracle8i or later database or service".
    Установка клиентской части Oracle - конфигурирование подключения к БД - версия БД
  8. На третьей странице мастера необходимо ввести имя сервиса, идентифицирующего базу данных на сервере (в данном случае - "RTT"). Это имя устанавливается при создании базы данных.
    Установка клиентской части Oracle - конфигурирование подключения к БД - имя сервиса
  9. На четвертой странице мастера выберите из списка доступных для соединения с БД протоколов протокол "TCP".
    Установка клиентской части Oracle - конфигурирование подключения к БД - протокол
  10. На пятой странице мастера введите адрес сервера, на котором установлена БД. Можно вводить как символьное имя сервера, так и IP-адрес. На этой же странице выберите порт TCP/IP, по которому будет производиться соединение с сервером. Порт по умолчанию - 1521.
    Установка клиентской части Oracle - конфигурирование подключения к БД - сервер и порт
  11. На шестой странице мастер предлагает протестировать заданные на предыдущих шагах параметры. Выберите кнопку "Yes, perform a test".
    Установка клиентской части Oracle - конфигурирование подключения к БД - тестирование соединения
  12. Если введенные на предыдущих страницах параметры соединения с БД были заданы корректно, то мастер сообщит об этом:
    Установка клиентской части Oracle - конфигурирование подключения к БД - успешное соединение
  13. На восьмой странице введите имя псевдонима подключения, который будет использоваться в дальнейшем для установки соединения с БД приложениями "Мальницы данных". Во избежание путаницы настоятельно рекомендуется именовать псевдоним так же, как и службу на сервере (в данном случае - RTT). сообщит об этом:
    Установка клиентской части Oracle - конфигурирование подключения к БД - псевдоним соедиения
  14. На девятой странице мастера у вас есть возможность выбрать, настроить еще одно подключение или завершить работу с мастером. После завршения установки вы всегда сможете вернуться к процедуре создания псевдонима подключений, вызвав из меню "Пуск" приложение "Oracle Net Configuration Assistant".
    Установка клиентской части Oracle - конфигурирование подключения к БД - отказ от создания следующего соединения
  15. На десятой странице мастер сообщает об успешном создании псевдонима соединения с БД.
    Установка клиентской части Oracle - конфигурирование подключения к БД - завершено конфигурирование соединения
  16. На десятой странице мастер сообщает об успешном завершении своей работы.
    Установка клиентской части Oracle - конфигурирование подключения к БД - завершено
  17. После завршения работы мастера "Oracle Net Configuration Assistant" вы увидете сообщение об успешном завершении работы инсталлятора. Нажмите кнопку "Exit".
    Установка клиентской части Oracle - завершено


Мельница данных ((раздел целиком))

Мельница данных- Руководство разработчика на платформе (раздел целиком) (23.04.2022) (одним файлом)
Руководство разработчика на платформе

1. Решения, предлагаемые технологией "Мельница данных"

Технология "Мельница данных" предлагает решения традиционных проблем разработки и сопровождения учетных систем за счет следующих инноваций:

  1. Объектная модель хранится в системе по тем же принципам, что и модель бизнес-данных, т.е. объекты классов, описывающих метаданные системы (классы, поля, методы, свойства, пользовательские формы) хранятся в базе данных и отображаются при помощи стандартного пользовательского интерфейса. Моделирование системного слоя метаданных системы произведено разработчиками платформы. Модель системного слоя документирована и доступна для просмотра и использования разработчикам прикладных систем.
  2. Разработка прикладных учетных систем ведется в той же среде, что и работа конечных пользователей. Текущая модель прикладной системы доступна для просмотра и использования всеми разработчиками.
  3. На основе заложенной объектной модели прикладной системы автоматически генерируется SQL-код (как DML, так и DDL составляющие), что полностью освобождает разработчика прикладной системы от SQL-программирования.
  4. Пользовательские интерфейсы (формы, представления) также описываются при помощи объектной модели и хранятся в базе данных. Это позволяет автоматически генерировать формы просмотра данных и формы задания параметров методов, что освобождает разработчика прикладной системы от написания кода клиентского приложения. Для тонкого управления поведением форм задания параметров может использоваться язык VB-script.
  5. При внесении изменений в объектную модель:
    • новое состояние модели отображается в пользовательском интерфейсе в доступной для всех разработчиков форме;
    • текущая объектная модель в виде диаграммы классов может быть выгружена в HTML-отчет, что является базовой возможностью платформы;
    • внесение изменений в структуру базы данных и пользовательские интерфейсы производится автоматически средствами платформы.

Основными элементами стандартизованного пользовательского интерфейса являются развитые элементы управления, работающие с данными:

  • Таблицы данных - отображают списки объектов в табличной форме, удобной для восприятия пользователя. Таблицы данных позволяют производить сортировку, группировку объектов, фильтрацию данных по ряду условий, подведение агрегатов (количества объектов, наибольшего, наименьшего значения, суммы, среднего и т.д.), отображение и скрытие групп, подведение итогов по группе. Таблицы данных имеют функционал, позволяющий отображать иерархические структуры, а также производить произвольный отбор отображаемых объектов пользователем. Используемые таблицы данных позволяют работать с большими объемами данных без потери производительности.
  • Инспектор объектов - отображает все свойства выбранных (одного или нескольких) объектов в двух колонках: имя свойства - значение свойства. Инспектор объектов позволяет просматривать все свойства объектов, а также изменять значения свойств как одного объекта, так и для всех выделенных объектов одним действием.
  • Форма задания параметров - отображается при вызове пользователем одного из методов. На форме расположены элементы управления Поле ввода, соответствующие описанным для метода параметрам. Внешний вид и поведение элементов управления зависят от типа описанных параметров. Поведением элементов управления на форме можно управлять при помощи скрипта формы, разрабатываемого на языке VB-script.
  • Поле ввода - используется для задания значений свойств и параметров как в Таблице данных, так и в Инспекторе объектов и на формах задания параметров. Имеет функционал, позволяющий редактировать значения различных типов. Использование стандартизованного пользовательского интерфейса позволяет снизить издержки как на его сопровождение, так и на обучение пользователей работе на новых участках.

Реализованы развитые возможности интеграции с третьесторонними системами. Они обеспечиваются следующими механизмами:

  1. Возможность переноса в Microsoft Excel любого видимого представления "as-is" с сохранением всех группировок, сортировок, агрегатов и т. п.
  2. Возможность вывода отчетов в виде документов Microsoft Office с передачей в среду функционирования Office соединения с БД, что позволяет строить отчеты любой степени сложности.
  3. Возможность использования в системе любого внешнего Ole-объекта как метода любого класса без ограничений.
  4. Возможность использования скриптлетов (фрагментов кода на скриптовом языке VBScript и/или JScript) как методов системы, фактически - возможность реализации на этих языках сколь угодно сложного поведения.
  5. Возможность формирования отчетов непосредственно в виде html-документов для последующей публикации их в сети Internet.

2. Системный слой объектной модели "Мельница данных"

Технология разработки и сопровождения учетных систем "Мельница данных" требует для своего функционирования объектную модель бизнес-сущностей. Технология диктует ряд дополнительных требований к объектной модели.

  1. Все классы наследуются от единого корня, класса TObject. Класс TObject вводит ряд элементов состояния, поведения и представления, которые наследуются всеми учитываемыми объектами в обязательном порядке.
  2. Множественное наследование не поддерживается (т.е. у каждого класса может быть один и только один родитель).
  3. Множественная инкапсуляция не поддерживается (т.е. у каждого объекта может быть один либо ни одного инкапсулирующего объекта).
  4. Простые типы данных вводятся посредством доменов. Домены определяют обязательность своих значений, а также другие характеристики, зависящие от класса домена. Домены бывают:
    • строковые (определяют максимальную длину строки);
    • целочисленные (определяют максимальное и минимальное значение целого числа);
    • вещественные (определяют максимальное и минимальное значение числа, количество значащих цифр);
    • логические;
    • значения типа "дата";
    • значения типа "время";
    • значения типа "дата со временем";
    • перечисления (определяют список возможных значений);
    • ссылка (определяют класс-приемник ссылки);
    • большие двоичные объекты (текст, изображение, файл, и т.д.).

3. Наследование и переопределение членов класса и параметров подпрограмм

Все члены родительского класса наследуются дочерним классом следующим образом:

Поля

Все поля родительского класса доступны в дочернем классе. При создании в дочернем классе поля с тем же именем, что и в родительском классе, класс-наследник теряет возможность напрямую манипулировать полем родительского класса и получает поле с тем же именем. Можно сказать, что новое поле "закрывает" старое, но не "замещает" его.

Методы

Все методы родительского класса наследуются дочерним классом. При создании в дочернем классе метода с тем же именем, что и в родительском классе, метод переопределяется, т.е. вместо старого метода будет существовать новый. Единственный способом обратиться к старому (унаследованному) методу является использование в теле метода оператора унаследованного вызова inherited (см. раздел 5.3.14.). Переопределенный метод имеет все параметры родительского метода и может расширять список параметров, а также переопределять унаследованные параметры (создавая параметры с тем же именем и изменяя любой другой атрибут параметра по своему усмотрению). Скрипты форм задания параметров не наследуются и должны быть полностью заданы в переопределенном методе. Изображения-иконки методов наследуются и могут не переопределяться явно.

Свойства

Все свойства родительского класса доступны в дочернем классе. При создании в дочернем классе свойства с тем же именем, что и в родительском классе, класс-наследник теряет возможность напрямую манипулировать свойством родительского класса и получает свойство с тем же именем. Можно сказать, что новое свойство "закрывает" старое, но не "замещает" его. На практике часто бывает необходимо в унаследованном методе (особенно в конструкторе) скрыть часть параметров от пользователя, либо сузить область выбора значений для каких либо параметров. В этом случае необходимо переопределить параметры в унаследованном методе с новыми значениями свойства Scope ("Область видимости") или Domain ("Домен"). Это нормальная рекомендуемая практика. Необходимо понимать, что скрыв с формы элемент управления, соответствующий параметру, значение которого обязательно, необходимо предусмотреть, чтобы этот параметр получил значение до вызова унаследованного метода, либо из скрипта формы задания параметров, либо в теле самого метода.

В конструкторе класса, унаследованного от класса TObject, переопределен параметр Name, таким образом, что в свойстве "Область видимости" установлено значение "Не видимо пользователям". При этом тело метода конструктора должно выглядеть следующим образом:
begin
  Name := UniqueValue;                    (1)
  inherited;                         (2)
  // инициализация собственных полей
end;
Параметр конструктора Description, унаследованный от конструктора класса TObject останется видимым и его значение будет в обязательном порядке установлено пользователем при помощи формы задания параметров. Значения параметров Parent и Master будут определены из контекста вызова или запрошены у пользователя. Параметр Name не будет отображен на форме задания параметров и в начале выполнения тела метода его значение будет пустым (nil). В связи с этим в строке (1) тела метода производится установка значения параметра Name при помощи функции UniqueValue. Если этого не сделать, то вызов унаследованного метода при помощи оператора inherited вернет ошибку, связанную с тем, что параметр Name имеет недопустимое значение.

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

4.1. Представления

4.2. Визуальные группы

4.3. Формы, связь представлений в формах

5. Объектно-реляционное отображение

6. Обзор возможностей Платформы

7. Этапы разработки прикладных решений

7.1. Формирование видения модели

7.2. Создание структур хранения и средств обработки данных

7.2.1. Класс TObject, члены класса TОbject

7.2.2. Создание классов

7.2.3. Создание полей

7.2.4. Создание свойств

7.2.5. Создание методов

7.3. Синхронизаци базы данных

7.4. Создание пользователей и ролей

7.5. Средства моделирования пользовательских интерфейсов

7.5.1. Представления

7.5.2. Формы. Включение представлений в формы

7.5.3. Визуальные группы. Включение форм в визуальные группы

7.5.4. Организация доступа пользователей к формам и визуальным группам

7.6. Разработка отчетов

7.6.1. Создание шаблонов PDF-отчетов

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.

Все размеры графических объектов, размеры страниц, шрифтов и т.п. по умолчанию заданы в миллиметрах.
Для удобства построения шаблона PDF-документа создана функция DrawGrid. При ее включении при отладке при создании шаблона будет отображена визуальная сетка с шагом 5 миллиметров.

7.6.1.2. Методы

7.6.1.2.1. Свойства документа

Для создания и описания свойств PDF-документа в библиотеке PDFCreator.dll используется класс IPDFDocument, обладающий следующими свойствами:

  • Title (WideString) - заголовок документа. По умолчанию - пустая строка.
    Title = "DOC1"
  • CanEmbedFonts (WordBool) - Признак возможности построения PDF- документа со встроенными шрифтами (Embedded Fonts). В случае включения признака, все объявленные в скрипте шрифты будут включены в сборку документа и будут передаваться целиком вместе с документом. По умолчанию - False.
    CanEmbedFonts = True

CanEmbedFonts = False
  • CanCompress (WordBool) - признак сжатия документа при создании по собственным алгоритмам. По умолчанию - True.
    CanCompress = False

CanCompress = True
  • Author (WideString) - автор документа. По умолчанию - текущий пользователь ОС.
  • Subject (WideString) - описание документа. По умолчанию - пустая строка.
  • Keywords (WideString) - ключевые слова для поиска по документу. По умолчанию - пустая строка.
  • Creator (WideString) - приложение-родитель документа. Указывается в том случае, если документ был сконвертирован из другого формата.
  • PageCount (Integer) - свойство, содержащее общее количество страниц в документе.
  • Pages[Index: Integer]: IPDFPage - свойство документа, предназначенное для перебора страниц документа для совершения над ними однотипных действий.

    Пример использования:

    for I = 0 to PageCount - 1
  Pages(I).rectangle 10,10,10,10, false
next
Save "c:\pdf.pdf"

    Результат: На всех страницах документа будут нарисованы квадраты 10х10 мм.
  • procedure Save(Target: OleVariant) - процедура для сохранения документа PDF на жесткий диск сразу после создания.
    Save "c:\pdf.pdf"
    - сохранит документ в файл c:\pdf.pdf

7.6.1.2.2. Свойства страницы

Для создания страницы используется функция

function CreatePage(Parent: OleVariant): IPDFPage;

Параметр Parent указывает страницу-родителя для данной страницы. Если страницы- родителя быть не должно - формат вызова функции примет вид:

set page = CreatePage(Null)

Параметры страницы:

  • Title - заголовок страницы.
    page.Title = "Page name"
  • Width - ширина страницы, миллиметры
    page.Width = 80
  • Height - высота страницы, миллиметры
    page.Height = 80
  • DrawGrid - процедура, выводящая на страницу сетку с шагом 5 миллиметров для удобства отладки вида документа.
  • Perform - процедура, позволяющая выполнить дополнительные команды PostScript на странице.
    page.perform "1 0.7 0 0 k"
    page.perform "0 0 m"

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).

Цвет | R | G | B |
Белый | 255 | 255 | 255 | +++
Черный | 0 | 0 | 0 | +++
Серый | 190 | 190 | 190 | +++
Синий | 0 | 0 | 255 | +++
Красный | 255 | 0 | 0 | +++
Зеленый | 0 | 255 | 0 | +++

Если предварительно цвет не был объявлен, используется цвет по умолчанию - черный (0,0,0)

7.6.1.2.3. Графика

7.6.1.2.3.1. Линии

Для отрисовки линий используется процедура

procedure Line(X1: Double; Y1: Double; X2: Double; Y2: Double);
Здесь:

  • X1 - координата начала линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y1 - координата начала линии по вертикали в миллиметрах от верхнего левого угла листа.
  • X2 - координата конца линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y2 - координата Конца линии по вертикали в миллиметрах от верхнего левого угла листа.

Для задания толщины линии используется свойство

property LineWidth: Double
Значение толщины задается в миллиметрах. Значение по умолчанию - минимально возможная единица рисования для устройства. Так для монитора - 1 pixel, для принтера - 1 dot (точка)

Для задания стиля отрисовки начала/окончания линии используется свойство property LineCap: TPDFLineCap
Возможные стили:
Значение свойства: | Отображение: | Описание:
0 | Линия 0 | Прямой срез точно по точкам начала и окончания линии (по умолчанию)
1 | Линия 1 | С закруглением
2 | Линия 2 | Прямой срез с продолжением линии на половину толщины линии

Объявление цвета линии.

Две линии разной толщины, с разными окончаниями и цветами:
set page = CreatePage(Null)

page.DrawGrid

page.LineCap = 1

page.LineWidth = 2

page.Line 10, 10, 30, 30

page.LineWidth = 4

page.SetColor 255, 0, 0

page.LineCap = 2

page.Line 10, 30, 30, 10."I

Результат:
2 линии

При необходимости соединения линий под углом в определенной точке можно задать тип соединения. Для объявления типа соединения используется свойство property LineJoin: TPDFLineJoin;
Типы соединения двух линий:
Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пунктир

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

Процедура procedure SetDash(DashArray: OleVariant; Phase: Integer); Здесь DashArray - массив значений в миллиметрах, указывающий последовательность чередования штрихов и пропусков на линии, Phase - смещение в миллиметрах по линии.

Пример 1. Штрих 10 мм, Промежуток 5 мм, Смещения нет
Пример 2. Штрих 10 мм, Промежуток 5 мм, Смещение 5 мм
Пример 3. Различные значения штрихов и промежутков, Смещения нет
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.SetDash Array(10, 5), 0

page.Line 10, 10, 100, 10

page.SetDash Array(10, 5), 5

page.Line 10, 20, 100, 20

page.SetDash Array(10, 5, 3, 2, 12, 20), 0

page.Line 10, 30, 100, 30

Результат:
Пунктир 1

Ломанная линия - здесь непрерывная линия, состоящая из нескольких прямых. Для отображения ломанной используется процедура procedure Poly(Points: OleVariant; Fill: WordBool), где Points - массив координат точек соединяемых прямыми, а Fill - признак заливки полученной замкнутой фигуры (если замкнута).

Пример Звезда без заливки
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), false

Результат:
Звезда
Пример Звезда с заливкой
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), true

Результат:
Звезда заливка

7.6.1.2.3.2. Прямоугольник

Rectangle (Прямоугольник) - для создания используется процедура:

procedure Rectangle(X1: Double; Y1: Double; Width: Double; Height: Double; Fill: WordBool);
Здесь:

  • X1 - координата верхнего левого угла прямоугольника по горизонтали в миллиметрах от верхнего левого угла листа шаблона.
  • Y1 - координата верхнего левого угла прямоугольника по вертикали в миллиметрах от верхнего левого угла листа шаблона.
  • Width - ширина прямоугольника с миллиметрах.
  • Height - высота прямоугольника с миллиметрах.
  • Fill - признак заливки прямоугольника (True/False). Если значение True то заливка производится объявленным заранее цветом (см. Объявление цвета). Если False - заливка не производится. Прямоугольник отрисовывается линиями с предварительно заданной толщиной. См. Линии
Пример 1. Создание красного прямоугольника:
set page = CreatePage(Null)

page.SetColor 255, 0, 0

page.Rectangle 10, 15, 40, 20, True

page.DrawGrid
Результат:
Прямоугольник
Пример 2. Пустой прямоугольник без задания цвета:
set page = CreatePage(Null)

page.DrawGrid

page.Rectangle 12, 17, 42, 25, false

page.DrawGrid

Результат:
Прямоугольник false

Также существует возможность изменения стиля отображения углов прямоугольника. Для этого нужно использовать свойство property LineJoin: TPDFLineJoin;

Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пример построения прямоугольников с различными типами соединения сторон:

set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 4

page.LineJoin = 0

page.Rectangle 10, 10, 20, 10, false

page.LineJoin = 1

page.Rectangle 40, 10, 20, 10, false

page.LineJoin = 2

page.Rectangle 70, 10, 20, 10, false

Результат:
3 прямоугольника

7.6.1.2.3.3. Вставка готовых изображений

Для вставки на создаваемую страницу готового изображения используется процедура procedure Image(const FileName: WideString; X: Double; Y: Double; Width: Double; Height: Double)

Параметры:

  • const FileName - имя файла изображения и путь к нему на жестком диске. Задается в кавычках.
  • X - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по горизонтали в миллиметрах
  • Y - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по вертикали в миллиметрах
  • Width - ширина изображения в миллиметрах
  • Height - высота изображения в миллиметрах.
set page = CreatePage(Null)
page.drawgrid
page.Image "c:\mill.bmp", 10,10, 30, 30

Результат:
Картинка

Вне зависимости от размера исходного изображения, при вставке изображения на создаваемую страницу оно будет растянуто по размерам, прописанным в процедуре.

7.6.1.2.3.4. Векторная графика

Язык PostScript, с помощью которого создаются векторные изображения для PDF-документа, поддерживает создание типичных примитивных объектов, таких как:

  • Прямые и ломанные линии
  • Многоугольники
  • Окружности и эллипсы
  • Кривые Безье
  • Текст

При создании векторного изображения на странице PDF-документа в приложениях Платформы, команды построения примитивных объектов PostScript передаются на исполнение при помощи процедуры Perform. Подробнее об операторах и командах PostScript для создания PDF-документов можно узнать на сайте Adobe

7.6.1.2.4. Шрифты

Шрифты, которые должны использоваться в создаваемом документе, должны быть предварительно объявлены. Для объявления используемых шрифтов используется функция
function CreateFont(const FontName: WideString; Size: Double; Bold: WordBool; Italic: WordBool): IPDFFont; где:

  • const FontName - имя шрифта, аналогичное имени объявляемого шрифта в операционной системе. В Функции объявляется в кавычках.
  • Size - размер шрифта в пунктах
  • Bold - признак начертания шрифта "жирный". Значения - True или False
  • Italic - признак начертания шрифта "курсив". Значения - True или False
Примеры объявления шрифтов:
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)

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

  • procedure WriteLine(const LineText: WideString; X: Double; Y: Double);
    - используется для вывода текстовой строки
  • function WriteText(const AText: WideString; X: Double; Y: Double; Width: Double; Alignment: TPDFTextAlignment): Double;
    - используется для вывода текстового блока.

Параметры для procedure WriteLine :

  • const LineText - текстовая строка для вывода. Прописывается в кавычках. Будет выведена на страницу одной строкой.
  • X - координата верхней левой точки текстовой строки по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстовой строки по вертикали в миллиметрах.
Примеры вывода текстов на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)
Font.WriteLine "Фамилия", 5, 2
Font.WriteLine "Имя", 5, 10
Font.WriteLine "Отчество", 5, 18
labelFont.WriteLine "Дата рождения", 5, 26
dataFont.WriteLine "Национальность", 5, 34

Результат:
Разные шрифты

Параметры для function WriteText :

  • const AText - текст для вывода на страницу. Прописывается в кавычках. Будет выведена на страницу в виде текстового блока.
  • X - координата верхней левой точки текстового блока по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстового блока по вертикали в миллиметрах.
  • Width - ширина текстового блока в миллиметрах
  • Alignment - тип выравнивания текста в текстовом блоке.
    Значение параметра | Тип выравнивания
    0 | По левому краю
    1 | По правому краю
    2 | По центру
    3 | Выравнивание по ширине
Примеры вывода текстовых блоков на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Times New Roman", 12, False, True)
set dataFont = page.createFont("Tahoma", 11, True, False)
Q = font.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 5, 100, 0)
Q = labelFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 35, 100, 1)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 55, 100, 2)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 80, 100, 3)

Результат:
Выравнивание

Свойства шрифтов:

property Spacing: Double; - свойство, отвечающее за величину промежутка между буквами в слове. Задается в виде отклонения от промежутка между буквами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Spacing = 0
labelFont.Spacing = 1
dataFont.Spacing = 2
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (1 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 15

Результат:
Промежуток букв

property WordSpacing: Double; - свойство, отвечающее за величину промежутка между соседними словами. Задается в виде отклонения от промежутка между словами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.WordSpacing = 0
labelFont.WordSpacing = 2
dataFont.WordSpacing = 5
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (5 мм)", 5, 15

Результат:
Промежуток слов

property Scaling: Double; - свойство, отвечающее за горизонтальное масштабирование букв используемого шрифта. Устанавливается в процентах. Горизонтальный масштаб по умолчанию - 100%.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Scaling = 50
labelFont.Scaling = 100
dataFont.Scaling = 200
font.WriteLine "Сжатие (50)", 5, 5
labelFont.WriteLine "По умолчанию (100)", 5, 10
dataFont.WriteLine "Растягивание (150)", 5, 15

Результат:
Scaling

property RenderingMode: TPDFFontRenderingMode; - свойство, отвечающее за заливку букв используемого шрифта.
Типы заливки:
Значение параметра: | Отображение: | Описание:
0 | Font Fill | Сплошная заливка (по умолчанию). Буква заливается сплошным цветом, объявленным на данный момент.
1 | Font Stroke | Только граница. Прорисовывается граница буквы. Тело остается незалитым.
2 | Font FillStroke | Сначала заливка, потом граница. Граница прорисовывается всегда черным цветом. Заливка осуществляется сплошным цветом, объявленным на данный момент.
3 | Inv | Невидимый шрифт.

Пример:
set page = CreatePage(Null)
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 20, False, False)
set dataFont = page.createFont("Arial", 20, False, False)
font.RenderingMode = 0
labelFont.RenderingMode = 1
dataFont.RenderingMode = 2
page.setColor 255, 0, 0
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 5, 15, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 5, 25, 50, 0)

Результат:
Заливка букв

property Rise: Double; - свойство, отвечающее за перемещение текста по вертикали.

set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 7, False, False)
set dataFont = page.createFont("Arial", 7, False, False)
labelFont.rise = -17
dataFont.rise = -2
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 44, 5, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 44, 5, 50, 0)

Результат:
Rise

Для определения размеров текстовой строки используется процедура MeasureLine(const LineText: WideString; out Width: OleVariant; out Height: OleVariant);

Здесь:

  • LineText - исходный текст для размещения на странице
  • Width - возвращаемый параметр ширины текстового блока на странице
  • Height - возвращаемый параметр высоты текстового блока на странице
S = "шифр"
font.MeasureLine S, W, H
Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2)

Здесь для текста "Шифр" замеряется ширина и высота получившегося текстового блока. Затем полученные данные используются для корректного размещения текста на странице.

Для определения высоты текстового блока используется функция MeasureText(const AText: WideString; Width: Double): Double; safecall;

Функция распределит текст по задаваемому значению ширины текстового блока и вернет значение высоты текстового блока в милиметрах.

Здесь:

  • AText - исходный текст для размещения на странице. Прописывается в кавычках.
  • Width - задаваемая ширина текстового блока на странице в милиметрах.
S = "Текст для размещения на странице..."
Q = font.MeasureText(S, 139)
Здесь для текста "Текст для размещения на странице..." замеряется высота получившегося текстового блока. Затем полученные данные могут использоваться для корректного размещения текста на странице.

7.6.1.3. Порядок создания

Для создания шаблона PDF-документа необходимо в системной форме Платформы выбрать класс, к которому будет строиться документ. В подменю "Подпрограммы" вызвать контекстное меню и выбрать пункт "Создать шаблон отчета PDF". Заполнить необходимые поля и приступить к созданию скрипта в окне "Скрипт шаблона".

  1. Объявляем все переменные.
  2. Создаем страницы
  3. Устанавливаем все свойства документа и страниц
  4. Рисуем простые графические объекты
  5. Объявляем все используемые шрифты
  6. Расставляем постоянный текст на странице
  7. Расставляем переменный текст на странице
  8. Вставляем или создаем сложные графические объекты
Пример документа PDF:
set LDataSet = createDataSet("TRoundAbiturSt")
'Объявление переменных
LDataSet.AddQueryItem 1, "ID", ID
LDataSet.AddQueryItem 0, "RoundComp$N"
LDataSet.AddQueryItem 0, "BachRound$N"
LDataSet.AddQueryItem 0, "LastName"
LDataSet.AddQueryItem 0, "FirstName"
LDataSet.AddQueryItem 0, "MiddleName"
LDataSet.AddQueryItem 0, "BirthDate"
LDataSet.AddQueryItem 0, "RegNumber"
LDataSet.AddQueryItem 0, "SecondStageCity$D"
LDataSet.AddQueryItem 0, "PhoneList"

'Присваивание переменным значений
OlympName = LDataSet.Field("RoundComp$N")
OlympClass = LDataSet.Field("BachRound$N")
LastName = LDataSet.Field("LastName")
FirstName = LDataSet.Field("FirstName")
MiddleName = LDataSet.Field("MiddleName")
if not IsNull(LDataSet.Field("BirthDate")) then
  BirthDate = LDataSet.Field("BirthDate")
else
  BirthDate = "(не задана)"
end if
RegNo = LDataSet.Field("RegNumber")
if not IsNull(LDataSet.Field("SecondStageCity$D")) then
  OlympCity = LDataSet.Field("SecondStageCity$D")
else
  OlympCity = "(не выбран город участия)"
end if
if not IsNull(LDataSet.Field("PhoneList")) then
  Phone = LDataSet.Field("PhoneList")
else
  Phone = ""
end if

'CanCompress = False - признак сжатия файла
set page = CreatePage(Null) ' создаем страницу
'Объявляем используемые шрифты
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 16, False, False)
set dataFont = page.createFont("Arial", 18, True, False)
set bigFont = page.createFont("Arial", 24, False, False)

'page.DrawGrid  - рисуем сетку для удобства отладки

page.LineWidth = 0.5 ' Установка толщины линии

' Рисуем прямоугольники
page.Rectangle 8, 12, 4, 4, True
page.Rectangle 190, 12, 4, 4, True

page.Rectangle 8, 273, 4, 4, True
page.Rectangle 105, 273, 4, 4, True
page.Rectangle 190, 273, 4, 4, True

'Выводим постоянный и переменный текст
Q = font.WriteText ("Межрегиональная олимпиада школьников", 12, 20, 178, 2)
Q = bigFont.WriteText (OlympName, 12, 45, 178, 2)
Q = bigFont.WriteText (OlympClass, 12, 56, 178, 2)

Q = font.WriteText ("Титульный лист", 12, 72, 178, 2)

labelFont.WriteLine "Фамилия", 25, 115 - 23
labelFont.WriteLine "Имя", 25, 123 - 23
labelFont.WriteLine "Отчество", 25, 131 - 23
labelFont.WriteLine "Дата", 25, 139 - 23
labelFont.WriteLine "рождения", 25, 145 - 23

labelFont.WriteLine "Регистрационный номер", 25, 169 - 30
labelFont.WriteLine "Город проведения", 25, 177 - 30
labelFont.WriteLine "Аудитория", 25, 185 - 30

labelFont.WriteLine "Дата", 25, 211
labelFont.WriteLine "Подпись", 25, 219
labelFont.WriteLine "Телефон", 25, 227

dataFont.WriteLine LastName, 63, 114 - 23
dataFont.WriteLine FirstName, 63, 122 - 23
dataFont.WriteLine MiddleName, 63, 130 - 23
dataFont.WriteLine BirthDate, 63, 141 - 23

dataFont.WriteLine RegNo, 100, 168 - 30
dataFont.WriteLine OlympCity, 100, 176 - 30

' Рисуем линии
page.line 100, 192 - 30, 150, 192 - 30
page.line 58, 218, 108, 218
page.line 58, 226, 108, 226
Q = dataFont.WriteText(Phone, 58, 226, 65, 0)

' Устанавливаем новый цвет
page.setColor 192, 192, 192

S = "шифр"
font.MeasureLine S, W, H  ' измеряем текстовый блок
Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2) ' располагаем текстовый
блок на странице

' Устанавливаем новый цвет
page.setColor 255, 0, 0
' Устанавливаем толщину линий в 1 пиксель
page.LineWidth = 0
' Рисуем линии по координатам
X = 139
Y = 267

page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

X = X + 40
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

Y = Y - 23
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

X = X - 40
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

Результат:

7.7. Поставка решений

8. Интеграция

Интеграция - комплекс работ по настройке механизмов взаимодействия между различными учетными системами, которые функционируют независимо друг от друга в одной организационной структуре ("лоскутная" автоматизация).

Концептуально реализация интеграции может быть осуществлена двумя способами (рассмотрены более подробно далее):

  • Интеграция на базе интеграционной платформы (некоего ядра, которое осуществляет взаимодействие между учетными системами)
  • Интеграция без внедрения интеграционной платформы, с использованием связей между учетными системами только там где это необходимо.

Практически, реализация интеграции может быть осуществлена слежующими способами:

8.1. Интеграция данных

В свою очередь интеграцию данных можно разделить на два типа:

8.1.1. Репликативная интеграция

Репликативная интеграция - передающая сторона формирует реплику, передает ее принимающей стороне, которая в свою очередь загружает в себя реплику. В этом случае стандартами формата реплики являются двоичный формат и XML-схема. Платформа Мельница Данных имеет готовые механизмы для реализации обоих форматов.

Варианты реализации репликационной интеграции:

1. Данные должны быть переданы из сторонней учетной системы и загружены в Платформу Мельница данных:

В Платформе уже реализованы механизмы загрузки реплик в двоичном (бинарном) формате, а также в формате XML-схемы. В случае, если разработчики или сопровождающие сотрудники сторонней учетной системы имеют возможность выгрузки реплики в данных форматах, взаимодействие производится стандартными средствами Платформы. В противном случае создается конвертер для перевода данных реплики в один из стандартных форматов для дальнейшей загрузки реплики в Мельницу Данных.

2. Данные должны быть переданы из Платформы Мельница Данных и загружены в стороннюю учетную систему:

При необходимости выгрузки данных из Платформы Мельница Данных используются стандартные механизмы выгрузки реплики в двоичном (бинарном) формате или в формате XML-схемы. В случае, если эти варианты не являются приемлемыми для принимающей стороны (сторонней учетной системы), можно выполнить выгрузку данных через скриптлет, Microsoft Excel-файл, отчет или любыми механизмами просто выгрузить требуемый файл для дальнейшей обработки (загрузки) принимающей стороной. В этом случае необходимо четкое согласование протоколов и форматов обмена данными.

3. Данные должны быть переданы из одной сторонней учетной системы в другую. При этом Платформа Мельница Данных выступает в качестве интеграционной платформы:

МД - интеграционное ядро

Если Платформа выступает в качестве интеграционного ядра, в ней необходимо объявить структуры для хранения тех элементов данных, которые в Платформе по умолчанию не хранятся, но загружаются в нее из сторонних учетных систем и в дальнейшем подлежат какому-либо анализу. При этом нет необходимости обеспечивать функционирование бизнес-процессов над этими данными в рамках Платформы, данные просто хранятся.

Подобная интеграция осуществляется простыми готовыми средствами платформы в самые сжатые сроки.

8.1.2. On-Line доступ

Второй путь интеграции данных - Интеграция с использованием доступа к данным в режиме On-Line.

1. В том случае когда Платформа является серверной стороной, то есть стороной-поставщиком данных для других систем, возможны следующие варианты предоставления данных:

- СУБД, то есть база данных, которая хранит все данные Платформы. На данный момент поддерживаются Oracle, Firebird, MS SQL. Возможна реализация поддержки и других систем управления базами данных. Для указанных баз данных доступны стандартные протоколы доступа, с помощью которых осуществляются запросы к данным Платформы непосредственно. Запросы формируются при помощи стандартизированного языка запросов Structured Query Language (SQL).

- RESTful-сервис используется для реализации более сложной механики предоставления доступа к данным и входит в состав поставки сервера приложений Платформы. С его помощью, в частности, осуществляется удаленный доступ и доступ к данным через SOAP (Simple Object Access Protocol — простой протокол доступа к объектам) с автоматическим формированием по данным Платформы WSDL-документа, описывающего сервисы. Таким образом реализуется продвинутый функционал по отбору объекта по критериям, а также в части доступа ко всем данным Платформы по протоколу SOAP/

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

Практический пример реализации:

Компания "Мельница технологий" в одном из московских ВУЗов осуществяла интеграцию с тестирующей системой по проведению олимпиад. С использованием протокола SOAP в тестирующую систему из Платформы предоставлялась информация о реквизитах олимпиад, которые были выбраны каждым школьником-участником. Был реализован обработчик-"переходник", через который передавалсь информация.

Для системы LMS (Learning Management System) компании Asteros данные также предоставляются по протоколу SOAP.

2. В случае когда Платформе необходим доступ к данным сторонних систем, используется готовый RESTful-"обработчик". Частными случаями данной ситуции являются взаимодействия Платформы с различными собственными web-приложениями, а также с "Обозревателем данных", работающим через удаленный доступ.

Для получения данных в режиме On-Line от сторонних систем используются те же стандартные протоколы. При необходимости создаются "обработчики", которые отображают для конечного пользователя в визуальных формах Платформы данные, полученные из сторонних систем.

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

8.2. Интеграция функций
Данный тип развития интеграции в свою очередь можно разделить на 2 пути:

8.2.1. Взаимные вызовы

В данном случае подразумевается, что какая-либо учетная система открывает возможность вызова своих встроенных функций из сторонних систем.

Доступ к функциям возможен с помощью выполнения хранимых процедур (каждое бизнес-действие, которое производит пользователь, обязательно оформляется в виде хранимой процедуры на уровне СУБД Платформы). Процедуру можно вызывать, получив доступ к СУБД. Аналогично тому, как создаются select-запросы, запросы к данным, можно делать запросы, вызывающие бизнес-функции. Все методы, отчеты, и все, что доступно пользователю, может быть вызвано и через RESTful-сервис. При этом методы будут выполняться, отчеты будут формироваться в виде Excel, Word, PDF, HTML, в соответствии с запросом вызывающей стороны. Данный функционал обеспечивается готовым "обработчиком", входящим в состав поставки Платформы.

С помощью протокола SOAP можно вызывать любой метод любого объекта, получать результаты его выполнения без ограничений.

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

Пример реализации:

В ВУЗе при формировании приказа о зачислении студента в Платформе, также автоматически создается объект "Приказ" в системе документооборота ВУЗа. В дальнейшем, передвижение приказа по маршруту согласования в решении на Платформе аналогично отображается в системе документооборота.

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

8.2.2. Встраивание

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

Существуют разные способы реализации данного пути:

- В open-source системах, как правило, слой доступа к данным вынесен в некий отдельный модуль. Характерный пример - это LMS eFront. Это Open-Source разработка, содержащая в себе большой объем php-кода, с развитым web-интерфейсом, и, в том числе, содержащая модуль доступа к данным. В процессе работы создается база MySQL база достаточно примитивной структуры. В этом случае можно изменить модуль доступа, так, чтобы вместо запросов к MySQL-базе механика делала бы запросы к базе данных Платформы. Тогда исполнение php-кода, его интерпретация происходит в рамках сервера приложений Платформы.

Пример реализации:

Так как в базе данных Платформы уже хранятся данные о студентах, преподавателях, курсах и т.д., то при взаимодействии с системой обучения LMS, естественным, удобным и надежным решением является хранение все этих данных в одной базе данных

- В тех случаях, когда решения Платформы сами являются частью какой-либо более общей системы, и должны предоставлять свои функции, то это решается на уровне СУБД. То есть, сгенерированный Платформой прикладной код (код на соответствующем диалекте SQL) может быть интегрирован в код более масштабного хранилища, функционировать там, исполняться там, если в этом есть необходимость.

Прикладные системы на базе СУБД Teradata позволяют использовать PL/SQL-код для каких-либо наборов данных, притом, что сама база гораздо имеет продвинутые возможности автоматического контроля версий, хроникальности, аналитики.

9. Положения и определения

9.1. Работа с типами данных

9.1.1. Домены

9.2. Язык PascalScript

На языке PascalScript на платформе "Мельница данных" описываются тела методов и выражения. Выражения используются в условиях отбора объектов определенного класса при их отображении в представлениях, а также как встраиваемые выражения, которые могут служить членами класса для чтения свойств.

Здесь и далее зарезервированные слова выделены жирным шрифтом.

9.2.1. Структура программного блока тела метода
  [Описание переменных]
  begin
    //Операторы
  end;

Комментарии расположены между символами { и } либо от символов // до конца строки.

9.2.2. Описание переменных
var
    Имя переменной[, Имя переменной…]: Тип;
    Имя переменной[, Имя переменной…]: Тип;
    ...
Имя переменной должно быть идентификатором (последовательность символов a-z, A-Z, 0-9, _). "Тип" может быть одним из следующих:
  • integer - определяет переменные целочисленного типа;
  • string[целое_число] - определяет переменные строкового типа с заданной максимальной длиной; максимальная длина задается в квадратных скобках и обязательна для задания;
  • float - определяет переменные вещественного типа;
  • date - определяет переменные типа "дата";
  • time - определяет переменные типа "время";
  • datetime - определяет переменные типа "дата со временем";
  • boolean - определяет переменные логического типа;
  • blob - определяет переменные типа больших двоичных объектов;
  • Имя класса - определяет переменные-ссылки на экземпляры соответствующих классов;
  var
   I: integer;
   LSomeObject: TObject;
   LStart, LStop: datetime;
   LNewName: string[64];

9.2.3. Операторы PascalScript

Операторы разделяются точкой с запятой (;). Операторы могут быть одним из следующих:

9.2.3.1. Составной оператор
begin
  //Другие операторы
end
Операторы, размещенные внутри составного оператора, разделяются точкой с запятой. Никаких ограничений на состав операторов и количество уровней вложенности не накладывается.
begin
  Result := LCurrentValue;
  Exit;
end;

9.2.3.2. Оператор присваивания
Выражение1 := Выражение2

Присваивает значение выражения Выражение2 выражению Выражение1. Типы Выражения1 и Выражения2 должны быть совместимы (совпадать по классу домена либо оба быть числовыми). Для этого на Выражение1 (стоящее слева от знака равенства, lvalue) накладывается ряд ограничений. Это выражение должно быть:

  • Полем или свойством экземпляра класса
  • Локальной переменной
  • Параметром
  • Зарезервированной переменной Result
LObject.Name := 'Новое имя';
Result := 25;
LStartTime := StrToDateTime('01.01.2006 00:00:30');
var
  LObject: TObject;
  LClass: TClass;
  I: Integer;
  F: Float;
begin
  I := F;  //неверно
  F := I;  //верно
  LObject := LClass; //верно
  LClass := LObject; //неверно. Должно быть LClass := (LObject as TClass);
end;

9.2.3.3. Оператор вызова
ИмяПроцедуры [(Параметр1, Параметр2 ...)]

"ИмяПроцедуры" должно быть:

  • Именем метода класса и вызываться с указанием класса либо экземпляра;
  • Именем метода экземпляра и вызываться с указанием экземпляра;
  • Именем метода своего класса либо предка и вызываться без указания спецификаторов.
Порядок и количество параметров в операторе вызова должны строго совпадать с описанием метода.

  //метод класса, указан класс
  LList := TObjectList.Create(Name, Description, TObjectList, nil, nil, Folder);

  //метод экземпляра, указан экземпляр. Метод не имеет параметров.
  LList.Destroy;

  //свой либо унаследованный метод
  BuildDefaultActions(Name, True);

9.2.3.4. Оператор ветвления
if Выражение then
  //Оператор1
[else
  //Оператор2]

Выражение должно быть логического типа. В случае если значение Выражения истинно, выполняется Оператор1. Часть else является необязательной и относится к последнему оператору if, не имеющему таковой. В случае ее наличия Оператор2 выполняется, если значение Выражения ложно.

if LIndex > 25 then
  raise 'Индекс слишком большой.';

if LMonth = 'январь' then
  January
else if LMonth = 'февраль' then
  February
else
  OtherMonth;  //обратите внимание на точки с запятой.

9.2.3.5. Оператор выбора
case Выражение of
  Значение1: //Оператор1
  Значение2: //Оператор2
  ...
[else
  //Оператор ]
end

Заменяет каскад операторов if. Значение Выражения должно быть числового типа. Часть else выполняется в случае, если Выражение не равно ни одному из перечисленных вариантов. Эта часть не является обязательной.

сase LIndex of
  0: ZeroIndex;
  1,2,3: SmallIndex;
  4,5,6,7,8,9,10: BigIndex;
else
  raise 'Слишком большой или отрицательный индекс.';
end;

9.2.3.6. Цикл с предусловием
while Выражение do
  //Оператор

Оператор выполняется до тех пор, пока значение Выражения истинно. Выражение должно быть логического типа. Если при входе в цикл Выражение не истинно, то тело цикла не будет выполнено ни одного раза.

while LList.Count > 0 do
  LList.GetItem(0).Destroy;

while True do
begin
  LValue := LValue.NextValue;
  if LValue.Value > 10 then
  begin
    Result := LValue.Value;
    exit;
  end;
end;

9.2.3.7. Цикл с постусловием
repeat
  //Операторы
until Выражение

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

repeat
  Result := Result + 1;
  LObject := LObject.Parent;
until LObject = nil;

9.2.3.8. Цикл с параметром
for Параметр := Выражение1 (to|downto) Выражение2 do
  //Оператор

Параметр цикла обязан быть простой локальной переменной. Функционально цикл с параметром эквивалентен циклам:

  • Для формы to
    Параметр := Выражение1;
while Параметр <= Выражение2 do
    begin
  Оператор;
  Параметр :=  Параметр + 1;
end;
  • Для формы downto
    Параметр := Выражение1;
while Параметр >= Выражение2 do
    begin
  Оператор;
  Параметр :=  Параметр - 1;
end;
Если Выражение1 равно Выражению2, тело цикла будет выполнено один раз.

for I := LList.Length - 1 downto 0 do
// если LList.Length = 0, тело цикла ни разу не будет выполнено.
begin
  LClass := LList.GetItem(I);
  LMethod := any(TMethod with (Name = LName) and (Master = LClass));
  LParamList.Add(any(TMethod with (Name = LName) and (Master = LClass)));
end;

9.2.3.9. Цикл по экземплярам
for each Параметр of ИмяКласса [with Выражение]
       [by [-] Выражение [, [-] Выражение]] do
         //Оператор

Цикл осуществляется по выборке среди экземпляров класса ИмяКласса, для которых истинно Выражение. Если Выражение не задано, то по всем экземплярам. Ссылка на текущий в рамках цикла экземпляр присваивается в локальную переменную Параметр. Выражение должно определяться относительно переменной Параметр. Выраженния, следующие за ключевым словом by, определяют порядок обхода экземпляров. Знак "-" перед выражением (любого типа) определяет обратный порядок обхода.

for each LOption of TOption with LOption.Domain.Required do
    // для каждой настройки, домен которой обязателен
  LOption.SetDefaultValue;

9.2.3.10. Оператор прекращения цикла
break

Происходит немедленный выход из цикла. Выполняется финализация операторов защиты завершения, которыми защищено тело цикла. Допустим только в теле цикла с предусловием, цикла с постусловием, цикла с параметром или цикла по экземплярам.

9.2.3.11. Оператор выхода из подпрограммы
exit

Происходит немедленный выход из программного блока. Выполняется финализация операторов защиты завершения.

9.2.3.12. Оператор защиты завершения
try
  //Операторы1
finally
  //Операторы2
end

Выполняются операторы Операторы1, разделенные точкой с запятой. В случае возникновения исключительной ситуации управление сразу передается на Операторы2, и после их выполнения исключение остается активным. Если исключения не произошло, выполняются Операторы2. Если среди Операторов1 встречается оператор exit, то Операторы2 все равно выполняются.

//создание временного объекта-списка
LList := TObjectList.Create(Name, Description, TObjectList, nil, nil, Folder);
try
  LList.Add(LValue);
  Exit;
finally
  //гарантированное уничтожение созданного объекта независимо от исключений.
  LList.Destroy;
end;

9.2.3.13. Оператор обработки исключительных ситуаций
try
  //Операторы1
except
  //Операторы2
end

Выполняются операторы Операторы1. В случае возникновения исключительной ситуации управление передается на Операторы2. Если исключительных ситуаций не возникло, Операторы2 не выполняются никогда. При передаче управления на Операторы2 исключительная ситуация деактивирована. Для ее повторного возбуждения можно воспользоваться оператором возбуждения исключения без указания текстовой строки сообщения.

try
  LObject.NeverTouch := True;
  LObject.ExecuteCoolMethod; //если метод выполнен неудачно
except
  LObject.NeverTouch := True;  //установить флаг и ничего не сообщать пользователю.
end;

try
   LObject.ExecuteCoolMethod; //если метод выполнен неудачно
except
   LObject.Destroy; //удалить неудачный объект
   raise;           // продолжить обработку исключения.
end;

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

9.2.3.15. Оператор унаследованного вызова
inherited

Работает только в унаследованном переопределенном методе. Вызывается метод предка с параметрами, заданными в параметрах к моменту вызова. Если программный блок представляет собой тело функции, то в псевдопеременной Result будет результат выполнения метода предка.

// в теле конструктора
Name := 'Object name';
Description := 'Object description';
inherited; //вызов предка с параметрами Name и Description,
           //заданными двумя предыдущими операторами. Ссылка на
           //созданный объект лежит в
           //псевдопеременной Result
Result.Name := 'New name';

9.2.4. Выражения и операции

9.2.4.1. Состав выражения
Любое выражение имеет тип. Выражения состоят из следующих элементов:
  • Целая числовая константа (0 3 234);
  • Вещественная числовая константа. Дробная часть отделяется от целой точкой (".") (3.14 2.71);
  • Строковая константа. Заключается в апострофы. ('Some string' '10', '01.01.2006' 'now');
  • Логическая константа (True False);
  • Безтиповая (любого типа) константа nil;
  • Зарезервированное слово Self. Обозначает разный объект в зависимости от контекста:
    • В методах класса кроме конструктора - использование запрещено.
    • В методах экземпляра - всегда экземпляр, для которого вызван метод.
    • В конструкторе - до вызова унаследованного метода значение не определено. После вызова - ссылка на сконструированный объект.
    • В выражениях условий отбора - объект, для которого принимается решение о его вхождении в отбор.
  • Квалификатор.
  • Агрегат.

9.2.4.2. Квалификатор

Квалификатор обозначает объект, переменную, параметр, свойство, поле, вызов функции. Квалификатор состоит из идентификаторов, разделенных точкой.

Result
AName
Caption
LObject.Name
LObject.Parent.Name
LObject.ChildCount
LObject.HasAsParent(LOtherObject)

При интерпретации квалификатора используется следующий порядок разбора идентификатора:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Локальная переменная
  3. Параметр
  4. Имя элемента перечисления
  5. Имя класса. Вне контекста означает ссылку на соответствующий объект класса TClass
  6. Имя поля
  7. Имя метода
  8. Имя свойства

При интерпретации квалификатора внутри выражения агрегата правила разбора идентификатора изменяются:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Имя элемента перечисления
  3. Имя класса. Если это имя агрегируемого класса, то дальнейшие разыменования относятся к агрегируемому объекту
  4. Имя поля
  5. Имя метода
  6. Имя свойства
  7. Локальная переменная
  8. Параметр

9.2.4.3. Агрегат

Агрегат определяет агрегированное значение над экземплярами определенного класса, удовлетворяющими условиям агрегации. Агрегаты бывают следующих типов:

  • any - первый попавшийся объект. Результат имеет тип ссылки на объект агрегируемого класса.
    any(TObject with Master = Self.Parent)
//первый попавшийся объект, имеющий значение
//свойства Master равным значению свойства
//Parent текущего (контекстного) объекта.
  • count - количество объектов. Результат имеет целочисленный тип.
    count(TObject with Master = Self.Parent)
//количество объектов, имеющих значение свойства
//Master равным значению свойства Parent
//текущего объекта.
  • sum - сумма значений свойства, поля или функции объектов. Результат имеет тип суммируемого поля, свойства или функции
    sum(TExam.Mark with Master = LStudent) //сумма
//баллов студента по его испытаниям
  • max, min - соответственно максимальное и минимальное значений свойства, поля или функции объектов. Результат имеет тип агрегируемого поля, свойства или функции
    min(TObject.Created) // момент создания первого
//объекта Системы.

Внутри выражения агрегата правила разбора идентификатора изменяются на следующие:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Имя элемента перечисления
  3. Имя класса. Если это имя агрегируемого класса, то дальнейшие разыменования относятся к агрегируемому объекту
  4. Имя поля
  5. Имя метода
  6. Имя свойства
  7. Локальная переменная
  8. Параметр

9.2.4.4. Операции

Операции связывают элементы выражений.

Таблица операций в порядке приоритета:
Левый операнд | Правый операнд
 | Целый | Вещест- венный | Дата | Время | Дата со временем | Логи- ческий | Строковый | Объект | nil
not
Нет | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
* (звездочка)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
/ (слэш, дробь)
Целый | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
div
Целый | Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
and
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
or
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
+ (плюс)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Строковый | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
- (минус)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Целый | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Вещест- венный | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
=, <> (равно, не равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Логи- ческий
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Логи- ческий
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
<, >, <=, >= (меньше, больше, меньше либо равно, больше либо равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
is
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
as
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Объект | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено

9.2.4.4.1. Особенности применения операций
  1. Приоритет сравнений ниже приоритета операций булевой логики. Поэтому выражение
    LObject.Master = LMaster and LObject.Parent = LParent
    будет интерпретироваться следующим образом:
    LObject.Master = (LMaster  and LObject.Parent) = LParent
    и вызовет ошибку компиляции из-за применения операции and к объектам. Необходимо писать:
    (LObject.Master = LMaster) and (LObject.Parent = LParent)
  2. Любое значение (выражение любого типа) сравнивается с безтиповой константой nil:
          LObject := any(TObject with Name = 'Some name');
      if LObject = nil then
         .....
  3. Операции "Унарный минус" не существует. Для задания отрицательных констант пользуйтесь конструкцией 0-Значение:
    Result := 0-1;

9.2.5. Формальная грамматика
Goal: MethodBody | Expression;

MethodBody: [ConstantDeclaration] [VariableDeclaration] CompoundStatement ";";

ConstantDeclaration: "const" Ident ":" DomainSpecification ";"
  [{Ident ":" DomainSpecification ";"}];

VariableDeclaration: "var" DomainDefinition [{DomainDefinition}];

DomainDefinition: Ident ":" DomainSpecification ";";

DomainSpecification: IntegerDomainDefinition
  | StringDomainDefinition
  | FloatDomainDefinition
  | DateDomainDefinition
  | TimeDomainDefinition
  | DateTimeDomainDefinition
  | BooleanDomainDefinition
  | BlobDomainDefinition
  | EnumerationDomainDefinition
  | Ident;

IntegerDomainDefinition: "integer";
StringDomainDefinition: "string" "[" Number "]";
FloatDomainDefinition: "float" ["(" Number ["." Number] ")"];
DateDomainDefinition: "date";
TimeDomainDefinition: "time";
DateTimeDomainDefinition: "datetime";
BooleanDomainDefinition: "boolean";
BlobDomainDefinition: "blob" | "clob";
EnumerationDomainDefinition: "(" Ident {"," Ident} ")";

CompoundStatement: "begin" Statement [{";" Statement}] "end";

Statement:
  | CompoundStatement
  | AssignmentStatement
  | InheritedStatement
  | CallStatement
  | IfStatement
  | CaseStatement
  | ForStatement
  | WhileStatement
  | RepeatStatement
  | TryFinallyStatement
  | TryExceptStatement
  | RaiseStatement
  | ForEachStatement
  | ExitStatement;

AssignmentStatement:  Qualifier ":=" Expression;

CallStatement: Qualifier;

InheritedStatement: "inherited";

IfStatement: "if" Expression "then" Statement ["else" Statement];

CaseStatement: "case" Expression "of" {CaseBranch} ["else" Statement ";"] "end";

CaseBranch: CaseLabel [{',' CaseLabel}] ":" Statement ";";

CaseLabel: Number | Ident;

ForStatement: "for" Ident ":=" Expression ("to"|"downto")
  Expression "do" Statement;

WhileStatement: "while" Expression "do" Statement;

RepeatStatement: "repeat" Statement [{";" Statement}] "until" Expression;

TryFinallyStatement: "try" Statement [{";" Statement}] "finally"
  Statement [{";" Statement}] "end";

TryExceptStatement: "try" Statement [{";" Statement}] "except"
  Statement [{";" Statement}] "end";

RaiseStatement: "raise" [Expression];

ForEachStatement: "for" "each" Ident "of" Ident ["with" Expression]
  ["by" Expression] "do" Statement;

ExitStatement: "exit";

Expression: ComparedExpression [{RelationOperation Expression}];

ComparedExpression: Addon [{AdditionOperaton ComparedExpression}];

Addon: Factor [{MultiplicativeOperation Addon}];

Factor: "(" Expression ")"
  | "not" Expression
  | Number ["." Number]
  | StringConstant
  | Qualifier
  | "nil"
  | "True"
  | "False"
  | "(" Expression "is" Ident ")"
  | "any" Aggregate
  | "count" Aggregate
  | "sum" Aggregate
  | "max" Aggregate
  | "min" Aggregate;

Aggregate: "(" Ident ["." Ident] ["with" Expression] ")";

Qualifier: QualifierPart [{"." QualifierPart}];

QualifierPart: Ident ["(" Expression [{", " Expression}] ")"]
  | "self"
  | "(" Qualifier "as" Ident ")";

RelationOperation: "<"
  | ">"
  | "<="
  | ">="
  | "="
  | "<>";

AdditionOperaton: "+"
  | "-"
  | "or";

MultiplicativeOperation: "*"
  | "/"
  | "div"
  | "and";

9.2.6. Соглашения

9.2.6.1. Соглашения о наименованиях

В качестве вводимых (объявляемых) идентификаторов необходимо использовать так называемую нотацию InfixCaps. Если при создании имени используется несколько слов, то необходимо использовать заглавную букву для каждого слова в имени. Для разделения слов нельзя использовать символ подчеркивания. Все сущности именуются на английском языке, при этом использование сокращений является оправданным только в случае, если длина образуемого имени не согласуется с внешними по отношению к соображениям бизнес-логики ограничениям.

  • Имя класса должно начинаться с латинской буквы 'T'.
    Имя | Наименование
    TObjectList | Список объектов
    TLearnPlan | Учебный план
  • Имя поля должно начинаться с латинской буквы 'F'.
    Имя | Наименование
    FLearnPeriod | Период обучения
    FExamMark | Оценка за экзамен
  • Имя свойства не имеет префикса.
    Имя | Наименование
    ExamKind | Вид рубежного испытания
    ContactPhone | Контактный телефон
    Если членом класса для чтения свойства является поля, то имя свойства должно повторять имя поля без префикса 'F'. Если членом класса для чтения свойства является метод, то имя поля должно повторять имя метода без слова 'Get'.
  • Имя параметра не имеет префикса.
    Имя | Наименование
    OrderNumber | Номер приказа
    ExamDate | Дата проведения экзамена
    Параметры, используемые для инициализации значений полей, должны иметь имя, повторяющее имя поля без префикса 'F'. При компиляции тела метода, написанного на языке PascalScript имена параметров и имена свойств будут распознаваться в соответствии с порядком разбора идентификаторов, как это описано здесь и здесь.
  • Имена методов должны представлять собой императивный глагол на английском языке, выражающий смысл того, что метод делает. Имена методов не имеют префикса. Имена методов, используемых для получения значений свойств должны (как члены класса для чтения), должны начинаться со слова Get. Имена методов, используемых для установки значений свойств должны (как члены класса для записи), должны начинаться со слова Set.
    Имя | Наименование
    CountMarkSumm | Вычислить сумму баллов
    GetAge | Получить значение возраста
    SetMark | Установить значение оценки
  • Имена локальных переменных должны начинаться с латинской буквы 'L'.
    LMarkSumm (сумма баллов), LObjectCount (количество объектов).
  • Имена доменов должны начинаться с латинской буквы 'T'. В именах доменов допустимы пробелы. Рекомендуется к имени домена добавлять слово 'domain' (через пробел), а для обязательных доменов 'required domain' (через пробел) тогда, когда необходимо исключить возможность использования этих доменов в текстах на PascalScript. Первым словом в имени домена-ссылки должно быть имя класса домена. Исключением являются имена доменов, соответствующих простым типам данных без дополнительных ограничений. Имена таких доменов могут повторять имена типов языка PascalScript (Integer, Boolean, Float).
    Имя | Класс домена | Наименование
    TPrice domain | Вещественный | домен Цена
    TWeight required domain | Целочисленный | домен Вес (обязательный)
    Boolean | Логический | Логический
    TClassMember required domain | Ссылка | домен Член класса
  • Имена элементов перечислений должны иметь префикс из двух или трех символов, идентифицирующий соответствующий домен-перечисление. Префикс записывается строчными буквами. Например,
    Имя | Наименование
    для домена TExamKind (вид испытания)
    ekTest | зачет
    ekExam | экзамен
    ekDifTest | дифференцированный зачет
    для домена TAggregateKind (вид агрегата)
    agCount | количество
    agSumm | сумма
    agAverage | среднее значение
    Настоятельно рекомендуется давать уникальные имена элементов перечислений в пределах всей системы.

9.2.6.2. Cтилевое оформление исходного кода

Код на языке PascalScript, являющийся частью поставляемого решения, должен быть оформлен в соответствии с изложенными правилами.

9.2.6.2.1. Использование строк, пробелов и отступов

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

Пробелы, запрещенные к использованию:

  • До или после точки "."
  • Между именем вызываемого метода и открывающей скобкой "("
  • После открывающей скобки "(" или перед закрывающей ")"
  • Перед точкой с запятой ";"
  • Перед двоеточием ":"
  • Перед запятой ","

Двоеточие для всех объявлений переменных не должно содержать перед собой пробелов и иметь один пробел после перед именем типа.

Всегда необходимо использовать два пробела для всех уровней отступа. Другими словами, первый уровень отступает на два пробела, второй на четыре и так далее. Никогда не используйте символы табуляции.

Существует несколько исключений из этого правила. Зарезервированные слова var, begin и end, относящиеся к программному блоку вцелом, всегда должны примыкать к левой границе. Код внутри блока begin..end должен иметь отступ два символа.

Все строки должны быть ограничены 80 столбцами. Строки, длиннее чем 80 столбцов должны быть разделены и перенесены. Все перенесенные строки должны быть выровнены по первой строке и иметь отступ в два символа. Зарезервированное слово begin всегда должно находиться на своей отдельной строке.

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

9.2.6.2.2. Оформление объявлений и операторов

Все переменные с их типами должны быть объявлены на различных строках.

Простые операторы содержат одну точку с запятой. Если Вам необходимо разделить оператор, то перенесите продолжение оператора на следующую строку с отступом в два пробела.
  MyValue :=
    MyValue + (SomeVeryLongStatement / OtherLongStatement);

Составные операторы всегда заканчиваются точкой с запятой.
begin
  MyStatement;
  MyNext Statement;
  MyLastStatement;
end;

Каждое присвоение и каждое выражение должно располагаться на разных строках.

Оператор "if"

Оператор if всегда должен располагаться по крайней мере на двух строках
if A < B then DoSomething;
if A < B then
  DoSomething;
В случае составного оператора необходимо поместить каждый оператор на новую строку.
  if A < B then begin
    DoSomething;
    DoSomethingElse;
  end else begin
    DoThis;
    DoThat;
  end;

  if A < B then
  begin
    DoSomething;
    DoSomethingElse;
  end
  else
  begin
    DoThis;
    DoThat;
  end;
Все остальные варианты расположения операторов не рекомендуются и не одобряются, хотя и являются синтаксически правильными.

Оператор "for"

  for i := 0 to 10 do begin
    DoSomething;
    DoSomethingElse;
  end;

  for i := 0 to 10 do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  for I := 0 to 10 do
    DoSomething;

Оператор "while"

  while x < j  do begin
    DoSomething;
    DoSomethingElse;
  end;
  while x < j do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  while x < j do
    Something;

Оператор "repeat..until"

  repeat
    x := j;
    j := UpdateValue;
  until j > 25;

Оператор "case"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
  case LCode of
    1, 3:
      begin
        Incr := FIncrement + 1;
        FinalIncr := FIncrement div FLineDiv;
        Count := FLineDiv;
      end;
    2, 4:
      begin
        Incr := FPageIncrement;
        FinalIncr := Incr + 1;
        Incr := Incr div FPageDiv;
        Count := FPageDiv;
      end;
  else
    begin
      Count := 0;
      Incr := 0;
      FinalIncr := 0;
    end;
  end;

Оператор "try"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
try
  try
    EnumItems(CurrentThreadID, LDisable, 0);
    Result := TaskList;
  except
    EnableItems(TaskList);
    raise;
  end;
finally
  TaskList := SaveList;
  TaskActive := SaveActive;
end;

9.3. Интерфейсы взаимодействия с внешними подсистемами

Системный слой платформы "Мельница данных" предоставляет сторонним системам ряд интерфейсов, дающих возможность обращаться к объектам базы данных и их свойствам, вызывать методы классов и объектов, осуществлять запросы к базе данных, управлять поведением элементов управления и проч.

9.3.1. Интерфейс IContext
  IContext = interface(IDispatch)
    ['{79847D79-A3BE-408F-B59F-662B91BC6350}']
    function Handle: Integer;
    function getName(ID: OleVariant): WideString;
    function getDescription(ID: OleVariant): WideString;
    function createDataSet(const TargetClassName: WideString):
      IContextDataSet;
    function executeMethod(const ClassName: WideString;
      const MethodName: WideString;
      Params: OleVariant): OleVariant;
    function executeReport(const ClassName: WideString;
      const TemplateName: WideString;
      Params: OleVariant): IDispatch;
    function getPropValue(const ClassName: WideString;
      const PropName: WideString;
      const ID: OleVariant): OleVariant;
    procedure setPropValue(const ClassName: WideString;
      const PropName: WideString;
      const ID: OleVariant; Value: OleVariant);
    function select(const ClassName: WideString;
      QueryItems: OleVariant): IDispatch;
    function enumerationItem(ItemIdentifier: OleVariant): WideString;
    function getClass(const ClassName: WideString): WideString;
    function createGUID: WideString;
    procedure processStart(const Description: WideString;
      ItemCount: Integer);
    procedure processStep;
    procedure processStop;
    function PlaceDataSet(const Range: IDispatch;
      const DataSet: IContextDataSet;
      ShiftRows: WordBool; ShiftColumns: WordBool): Integer;
    procedure DebugString(const Message: WideString);
    procedure ExportObject(var Document: OleVariant; const ID: WideString;
      const ClassID: WideString);
    function callRoutine(const ClassName, RoutineName: WideString;
      var RetValue: OleVariant; const ScriptPart: OleVariant): WordBool;
    function getOleObject(const ClassID, AccessibleFileName: WideString): IDispatch;
    function getResource(const Name: WideString): WideString;
    function getTempFileName(const Extension: WideString): WideString;
    function selectVaue(const ClassDomain: WideString;
      const ExpressionContext: IContextExpressionInfo;
      var Value: OleVariant): WordBool;
    procedure raiseManagedException(const ExceptionMessage: WideString);
    function getCRC(Data: OleVariant): WideString;
    function downloadData(const Host: WideString; const Url: WideString;
      const UserName: WideString; const Password: WideString;
      NegotiateAuth: WordBool; PostData: OleVariant;
      const PostContentType: WideString; PostDataIsBinary: WordBool;
      CanCache: WordBool; NewSession: WordBool; TimeOut: Integer): OleVariant;
    function createBinaryData: IDispatch;
    function BinaryToBitmap(const Data: IDispatch): IDispatch; safecall;
    function editValues(const ValuesList: WideString; const Title: WideString;
      UseTabs: WordBool; HideOKButton: WordBool;
      const ScriptPart: OleVariant): WordBool;
    function MsgBox(const Prompt: WideString; Buttons: LongWord;
      const Title: WideString;
      const HelpFile: WideString; Context: LongWord): Integer;
    function ShowMsgBox(const Prompt: WideString; Buttons: LongWord;
      const Title: WideString;
      const HelpFile: WideString; Context: LongWord): Integer;
    function buildNamedFile(const Data: IDispatch; const StoredFileName: WideString;
                            Propmpt: WordBool; Compress: WordBool): IDispatch;
    procedure parseNamedFile(const NamedFile: IDispatch; out FileName: OleVariant;
                             out Data: OleVariant);
    procedure showView(const ViewName: WideString; Key: OleVariant;
                       const DetailPropertyName: WideString);
    procedure showDataSet(const DataSet: ContextDataSet; const Caption: WideString;
                          ColumnCaptions: OleVariant; ColumnOnChangeHandlers: OleVariant;
                          TakeActionsFromView: OleVariant);
    function executeConsoleProcess(const CommandLine: WideString; MaxDuration: Integer;
                                   const OutputData: OleVariant): Integer;
    function createRaster: IDispatch;
    function createZIPArchive: IDispatch;
    function ConvertExcel(Source: OleVariant; const Format: WideString): IDispatch;
    property ContextObject: IDispatch;
    property Language: WideString;
    property UserName: WideString;
    property NegotiateAuth: WordBool;
    property Variable[const Name: WideString; Persistent: WordBool]: OleVariant;
  end;

Члены интерфейса доступны для использования в скриптах форм задания параметров, а также в отчетах как члены класса передаваемого контекстного объекта.

  • Функция Handle возвращает дескриптор главного окна приложения.
  • Функция getName возвращает имя объекта по его идентификатору.
  • Функция getDescription возвращает наименование объекта по его идентификатору.
  • Функция createDataSet создает набор данных, основанный на экземплярах класса, имя которого передано как параметр. Возвращаемый объект реализует интерфейс IContextDataSet.
  • Функция executeMethod осуществляет вызов метода с параметрами. Имя класса передается в параметре ClassName, имя вызываемого метода - в параметре MethodName. Если вызываемый метод явяется функцией, то результат ее выполнения возвращается как результат вызова executeMethod. Параметры вызова метода передаются через параметр Params следующим образом:
    • Для методов класса без параметров можно передавать любое значение, например, Null.
    • Для методов класса, имеющих один параметр, значение Params есть значение этого единственного параметра.
    • Для методов класса, имеющих более одного параметра, значение Params есть массив значений параметров.
      VBScript, VBA | LValue = executeMethod("TObject", "Round", Array(10.24, 1))
      JScript | LValue = executeMethod("TObject", "Round", new Array(10.24, 1));
      Object Pascal | LValue := executeMethod('TObject', 'Round', VarArrayOf([10.24, 1]));
    • Для методов экземпляра без параметров значение Params есть идентификатор объекта, для которого вызывается метод.
    • Для методов экземпляра, имеющих параметры, значение Params есть массив значений параметров. При этом первым элементом массива является идентификатор объекта, для которого вызывается метод.
      VBScript, VBA | executeMethod "TObject", "MergeTo", Array(LOldObject, LNewObject)
      JScript | executeMethod("TObject", "MergeTo", new Array(LOldObject, LNewObject));
      Object Pascal | executeMethod('TObject', 'MergeTo', VarArrayOf([LOldObject, LNewObject]));
  • Функция executeReport осуществляет вызов отчета с параметрами. Имя класса передается в параметре ClassName, имя вызываемого метода - в параметре TemplateName. Параметры вызова передаются в параметре Params аналогично вызову executeMethod. В результате вызова функции возвращается ссылка на рабочую книгу Microsoft Excel, документ Microsoft Word и так далее. Судьба приложения, в рамках которого создан возвращенный объект, остается на усмотрение вызывающей стороны. Если вызывающая сторона предполагает взаимодействие объекта с пользователем, то необходимо обеспечить видимость объекта-приложения (Application.Visible := True;). В противном случае необходимо закрыть приложение после освобождения объекта документа (Application.Quit).
  • Функция getPropValue возвращает значение свойства объекта. Имя класса, имя свойства и идентификатор объекта задаются в параметрах.
  • Процедура setPropValue устанавливает значение свойства объекта в значение, заданное параметром Value. Для очистки значения можно использовать пустую строку или значение Null. Имя класса, имя свойства и идентификатор объекта задаются в параметрах.
  • Функция select возвращает ссылку на XML-документ, содержащий в корневом элементе элементы, представляющие собой записи набора данных на основе класса ClassName (с полями, разнесенными по элементам), определяемого структурой параметра QueryItems.
  • Функция enumerationItem возвращает идентификатор элемента перечисления по имени.
    VBScript, VBA | LItemID = enumerationItem("rsReplicatableMetadata")
    JScript | LItemID = enumerationItem("rsReplicatableMetadata");
    Object Pascal | LItemID := enumerationItem('rsReplicatableMetadata');
  • Функция getClass возвращает идентификатор объекта типа Класс TClass (Классы) по имени.
    VBScript, VBA | LClassID = getClass("TDocumentType")
    JScript | LClassID = getClass("TDocumentType");
    Object Pascal | LClassID := getClass('TDocumentType');
  • функция createGUID является оберткой над функцией Windows API CoCreateGuid. Возвращает сгенерированный глобально-уникальный идентификатор, преобразованный в строку.
  • процедура processStart информирует систему о необходимости показать окно выполнения длительного процесса. Текст, описывающий процесс (он появляется в показываемом окне) задается параметром Description. В случае, если есть возможность определить количество "шагов" процесса, то это количество необходимо передать в параметре ItemCount. В случае, если параметр ItemCount больше нуля, окно выполнения будет снабжено индикатором прогресса. Если значение ItemCount равно нулю, то окно появится без индикатора прогресса. Если значение ItemCount меньше нуля, то решение о появлении окна будет принято системой самостоятельно на основании загрузки процессора и окно процесса не появится, если процесс завершится достаточно быстро.
  • процедура processStep информирует систему о завершении очередного "шага" процесса, что найдет отражение в индикаторе прогресса окна выполнения длительного процесса, если таковые случатся.
  • процедура processStop информирует систему о завершении длительного процесса, что приведет к закрытию окна выполнения длительного процесса, если таковое случится.
  • функция PlaceDataSet осуществляет перенос данных из набора, задаваемого параметром DataSet в некоторое место документа Microsoft Office. Место назначения определяется параметром Range следующим образом:
    Microsoft Word
    • Объект Range. По месту расположения этого объекта будет создана таблица (Table), в которой будут размещены данные из набора.
      PlaceDataSet ThisDocument.Bookmarks("BookMarkName").Range, LDataSet
      PlaceDataSet Selection.Range, LDataSet
    • Объект Document. В самом начале переданного документа будет создана таблица (Table), в которой будут размещены данные из набора.
      PlaceDataSet ThisDocument, LDataSet
    Microsoft Excel
    • Объект Range. По месту расположения этого объекта (диапазона) будут размещены данные из набора. Если параметр ShiftRows задан и равен True, то заданный диапазон будет расширен вниз на необходимое количество строк, и информация, лежащая ниже переданного диапазона, будет по-прежнему лежать ниже. Если нет, то она (скорее всего) будет затёрта данными набора. Если параметр ShiftColumns задан и равен True, то этот диапазон будет расширен вправо на необходимое количество столбцов, и информация, лежащая правее переданного диапазона, будет по-прежнему лежать правее. Если нет, то она (скорее всего) будет затёрта данными набора.
      PlaceDataSet Range("C4"), LDataSet
    • Объект WorkSheet. На переданном листе будут размещены данные из набора.
      PlaceDataSet WorkSheets("HiddenSheet"), LDataSet
    Функция возвращает количество размещенных записей.
  • процедура DebugString выводит переданную в качестве аргумента строку в отладочный монитор.
  • процедура ExportObject осуществляет экспорт информации об объекте, задаваемом параметром ID в XML-документ, передаваемый в параметре Document. Если объект документа не был создан, то он создается автоматически. Если документ не имеет корневого узла, он будет создан автоматически.
    set LDataSet = CreateDataSet("TSecurityAccount")

LDataSet.AddQueryItem qpWhat, "ID"

set LDocument = CreateObject("Msxml2.DOMDocument.4.0") 'Не обязательно.

while not LDataSet.Eof
  ExportObject LDocument, LDataSet.Field("ID")
  LDataSet.Next
wend

LDocument.save "c:\RolesAndUsers.xml"
  • Функция callRoutine осуществляет вызов подпрограммы. Параметры будут запрошены у пользователя обычным порядком (с показом формы задания параметров, отработки ее скрипта и т. д.). Имя класса передается в параметре ClassName, имя вызываемой подпрограммы - в параметре RoutineName. Если пользователь разрешил выполнение подпрограммы (либо для выполнения не требовалось разрешения пользователя), функция вернет True, иначе False. Значение, возвращаемое подпрограммой, может быть возвращено через необязательный параметр RetValue. Через значение необязательного параметра ScriptPart можно передать скрипт на языке VBScript, который будет "приклеен" сверху к скрипту формы параметров вызываемой подпрограммы.
  • Функция getOleObject возвращает ссылку на Ole-объект с идентификатором класса, переданном в параметре ClassID. Объект создается на основе библиотеки кода, сохраненной в доступном файле с именем, заданным параметром AccessibleFileName. Регистр символов имени доступного файла важен.
  • Функция getResource возвращает значение ресурсной строки по имени ресурса (элемента перечислимого домена Resource strings или перевода (объекта класса TLanguageTranslation).
    MsgBox getResource("rssMyErrorMessage")
  • Функция getTempFileName возвращает сгенерированное системой имя временного файла с расширением, переданным в параметре Extension.
  • Функция selectVaue позволяет пользователю выбрать значение на основе ссылочного домена, имя которого передается в параметре ClassDomain. Вызывающая сторона может реализовать интерфейс IContextExpressionInfo, через который передается информация о контексте вызова для интерпретации выражений условий отбора, и передать ссылку на него через параметр ExpressionContext. Выбранное значение передается в обе стороны через параметр Value. Если пользователь подтвердил выбор значения, функция возвращает значение True, и устанавливает значение параметра Value, равное идентификатору выбранного пользователем объекта. Если пользователь отказался от выбора, функция возвращает значение False.
  • Процедура raiseManagedException возбуждает управляемую исключительную ситуацию с сообщением для пользователя, заданным параметром ExceptionMessage.
  • Функция getCRC возвращает шестнадцатиричное представление контрольной суммы переданных в параметре Data данных. Параметр может быть
    • Объектом, реализующим интерфейс IBinaryData
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Объектом, реализующим интерфейс IFile объектной модели FileSystemObject
    • Строкой данных. Строка будет преобразована в байты в соответствии с кодировкой UTF-8.
  • Функция downloadData осуществляет обращение к указанному ресурсу по протоколу http (https), и возвращает ответ сервера в виде объекта, реализующего интерфейс IBinaryData. Параметр Host определяет http-сервер, параметр Url - Url, к которому будет происходить обращение. Параметры UserName и Password определяют имя пользователя и пароль, если http-сервер требует авторизовать пользователя. Параметр NegotiateAuth устанавливает режим аутентификации. (Basic или Negotiate). Параметры PostData, PostContentType и PostDataIsBinary определяют содержимое тела POST-запроса (если не определено, функция отправит GET-запрос). Параметр CanCache позволяет использовать локальный кеш http-ответов. Параметр NewSession требует принудительного создания новой сессии при вызове функции. Параметр TimeOut определяет максимальное время ожидания ответа в секундах.
  • Функция createBinaryData создает пустой объект, реализующий интерфейс IBinaryData.
  • Функция BinaryToBitmap конвертирует переданный графический файл в формат BMP. Объекты во входном и выходном параметрах должны реализовывать интерфейс IBinaryData.
  • Функция editValues создает и показывает форму редактирования группы значений. Параметр ValuesList содержит идентификатор объекта класса TObjectList. Этот список содержит ссылки на редактируемые значения (объекты класса TTypedValue), и командные кнопки формы (объекты класса TTypedValueButton). Параметр Title определяет заголовок формы, параметр UseTabs определяет, будут ли показаны закладки на форме редактирования. Параметр HideOKButton позволяет скрыть кнопку "OK" на показываемой форме. Параметр ScriptPart определяет скрипт показываемой формы.

      LValue1 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value1", "Первый параметр", Null, Null, _
    "TLongString", Null, Null, Null, Null, Null, "Значение по  умолчанию первого параметра"))
  LValue2 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value2", "Второй параметр", Null, Null, _
    "TLongString", Null, Null, Null, Null, Null, "Значение по  умолчанию второго параметра"))

  LValues = executeMethod("TObjectList", "CreateFromString", _
    LValue1 & ";" & LValue2)

  if editValues(LValues, "Введите два строковых значения, друзья", True, False, "") then
    MsgBox getPropValue("TTypedValue", "StrValue", LValue1) & _
      " " & _
      getPropValue("TTypedValue", "StrValue", LValue2)
  end if

  executeMethod "TObject", "Destroy", LValues
  executeMethod "TObject", "Destroy", LValue1
  executeMethod "TObject", "Destroy", LValue2

      LScriptPart =  "Buttons(""NextButton"").Enabled = ParentForm.NavigatorCanNext" & Chr(10) & _
    "Buttons(""PrevButton"").Enabled = ParentForm.NavigatorCanPrevious"

  LValue1 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value1", "Первый параметр", Null, Null, "TLongString", Null, Null, Null, Null, Null, _
    "Значение по  умолчанию первого параметра"))
  LValue2 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value2", "Второй параметр", Null, Null, "TLongString", Null, Null, Null, Null, Null, _
    "Значение по  умолчанию второго параметра"))

  LNextButton = executeMethod ("TTypedValueButton", "Create", Array("NextButton", "Вперед!", _
    Null, Null, Null, Null, 0, Null, Null, _
    "ParentForm.NavigatorNext"  & Chr(10) & LScriptPart, enumerationItem("scPublic"), 1, Null))

  LPrevButton = executeMethod ("TTypedValueButton", "Create", Array("PrevButton", "Назад!", _
    Null, Null, Null, Null, 1, Null, Null, _
    "ParentForm.NavigatorPrevious" & Chr(10) & LScriptPart, enumerationItem("scPublic"), 1, Null))

  LValues = executeMethod("TObjectList", "CreateFromString", _
    LValue1 & ";" & LValue2 & ";" & LNextButton & ";" & LPrevButton)

  if editValues(LValues, "Введите два строковых значения, друзья", True, True, LScriptPart) then
    MsgBox getPropValue("TTypedValue", "StrValue", LValue1) & _
      " " & _
      getPropValue("TTypedValue", "StrValue", LValue2)
  end if

  executeMethod "TObject", "Destroy", LValues
  executeMethod "TObject", "Destroy", LValue1
  executeMethod "TObject", "Destroy", LValue2
  executeMethod "TObject", "Destroy", LNextButton
  executeMethod "TObject", "Destroy", LPrevButton

  • Функции MsgBox и ShowMsgBox (это синонимы одной точки входа) полностью аналогичны функции Basic MsgBox по поведению и набору параметров.
  • Функция buildNamedFile формирует значение типа "Именованный файл" на основе объекта, реализующего интерфейс IBinaryData (параметр Data) и информации об имени и параметрах именованного файла.
  • Процедура parseNamedFile разбирает значение типа "Именованный файл". Выходной параметр FileName будет содержать сохраненное имя файла, выходной параметр Data - объект, реализующего интерфейс IBinaryData и содержащий данные именованного файла.
  • Свойство ContextObject позволяет получить ссылку на этот же самый контекстный объект.
  • Свойство UserName позволяет получить логин текущего пользователя.
  • Свойство NegotiateAuth позволяет получить признак доменной аутентификации пользователя.
  • Свойство Language позволяет получать и устанавливать текущий языковой контекст, в котором будут выполняться обращения к БД. Значение свойства либо пустая строка (используется язык БД по умолчанию), либо имя объекта класса TLanguage
  • Свойство Variable позволяет сохранять и получать произвольные значения, которые могут хранится постоянно (в реестре) или только в текущем сеансе, в зависимости от параметра Persistent.
    'сохранить на время текущего сеанса значение в переменную с именем SameVariableName
Variable("SameVariableName", False) = "Value"

'получить значение переменной с именем SameVariableName хранимой в текущем сеансе
LValue = Variable("SameVariableName", False)
  • Процедура showView осуществляет показ в модальном окне представления с именем ViewName. С помощью параметров DetailPropertyName и Key можно наложить на представление дополнительное условие отбора.

9.3.2. Интерфейс IContextDataSet
  IContextDataSet = interface(IDispatch)
    ['{466F3AF7-F899-4BC1-869D-1B17DCB86159}']
    procedure AddQueryItem(Part: TQueryPart; const Name: WideString;
      Value: OleVariant; Special: TQuerySpecial; Context: OleVariant);
    function Eof: WordBool;
    function Field(const Name: WideString): OleVariant;
    function FieldCount: Integer;
    function FieldName(Index: Integer): WideString;
    procedure Next;
  end;

Интерфейс предоставляет возможности формирования и выполнения запросов к базе данных с целью получения свойств объектов определенного класса, предоставляет доступ к объекту набора данных. Работа с объектом, реализующим интерфейс IContextDataSet заключается в формировании структуры набора данных и последующих обращениях к ним.

  • Процедура AddQueryItem добавляет элемент набора данных. Элементы могут добавляться в любом порядке до первого обращения к данным набора. Символические имена всех предопределенных для параметров этого метода констант являются членами интерфейса IConstants.
    • часть запроса определяется параметром Part, который может принимать одно из следующих предопределенных значений:
      Символическое имя | Числовое значение | Описание
      qpWhat | 0 | Добавляет поле (столбец), определяемое параметром Name, к результирующему набору данных. Параметр Value игнорируется.
      qpWhere | 1 | Определяет условие, налагаемое на свойства объектов класса, передаваемое остальными параметрами.
      qpOrder | 2 | Определяет порядок сортировки записей результирующего набора данных. Параметр Value игнорируется.
      qpGroup | 3 | Определяет, что записи результирующего набора данных будут сгруппированы по столбцу, переданному в параметре Name. Параметры Value и Special игнорируются.
    • параметр Name должен быть именем свойства класса, на котором основан набор данных, либо зарезервированным словом "ID" (без кавычек).
    • параметр Value (необязательный) определяет условия отбора, накладываемые на свойство, заданное параметром Name. Имеет смысл только если значение параметра Part равно qpWhere. Условие задается посредством строки, интерпретируемой следующим образом:
      • строка разделяется на части посредством системного разделителя
      • каждая часть интерпретируется самостоятельно, и эти части объединяются логическим "ИЛИ"
      • при интерпретации каждой части проверяются следующие условия:
        * проверка значения на непустоту (IS NOT NULL)
        !* проверка значения на пустоту (IS NULL)
        начинается с символов
        '<=', '<', '>=', '>'         		проверка соответствующего отношения между значением свойства, переданного параметром Name и оставшейся частью строки
        включает в себя символы '*' и/или '?' | проверка соответствия значения шаблону, в котором знак '?' соответствует одному любому символу, а знак '*' - любому количеству любых символов
        начинается с символа '!' | символ '!' означает отрицание условия, переданного оставшейся частью строки
        представляет собой строку в апострофах (одиночных кавычках) | содержание строки не анализируется по приведенным выше условиям
        любая другая строка | проверка равенства значения свойства, переданного параметром Name значению, переданному строкой
    • параметр Special (необязательный) обеспечивает дополнительное поведение набора данных (если параметр Special используется, необходимо использовать и параметр Value, можно передавать пустую строку):
      Символическое имя | Числовое значение | Описание
      qsNone | 0 | Параметр не используется. Значение по умолчанию.
      qsDescending | 7 | Используется при значении qpOrder параметра Part. В этом случае производится сортировка по убыванию.
      qsCount | 8 | Используется при значении qpWhat параметра Part. Определяют тип агрегации по свойству, заданному параметром Name.
      qsSum | 9
      qsMin | 10
      qsMax | 11
      qsAverage | 12
      qsFunction | 22 | Используется для включения в запрос вызова функции. Используется при значении qpWhat параметра Part.
    • параметр Context (необязательный) определяет дополнительные параметры элемента запроса.
    'включить в набор данных свойство Name
LDataSet.AddQueryItem 0, "Name"
'включить в набор данных среднее значение цены
LDataSet.AddQueryItem 0, "Price", "", 12
'включить в набор данных идентификатор объекта
LDataSet.AddQueryItem 0, "ID"
'включить в набор данных вызов функции. В поле IsCompany будет значение True, если объект является организацией
LDataSet.AddQueryItem 0, "IsCompany", "TObject.IsInstanceOf", 22, Array(getClass("TCompany"))
'наложить на набор данных условие
LDataSet.AddQueryItem 1, "Organization", "фирма Елочка"

    LDataSet.AddQueryItem 0, "Organization"              '(1)
LDataSet.AddQueryItem 0, "SalesCount", "", "9"       '(2)
LDataSet.AddQueryItem 1, "SaleDate", ">10.09.2005"   '(3)
LDataSet.AddQueryItem 2, "Organization"              '(4)
LDataSet.AddQueryItem 3, "Organization"              '(5)
    Производится отбор из класса, описывающего число продаж некоего продукта различными организациями. При этом в набор данных включаются колонки "Organization" (строка 1) и "SalesCount" (строка 2). При этом будет произведена группировка по свойству "Organization" (строка 5) (что гарантирует вхождение каждой организации в результирующий набор данных не более одного раза). Набор данных будет отсортирован по организации (строка 4). При этом в колонке "SalesCount" будет сумма (строка 2) всех продаж, осуществленных каждой организацией после 10.09.2005 (строка 3).
  • Функция FieldCount возвращает количество полей (столбцов) набора данных.
  • Функция FieldName возвращает имя поля (столбца) с номером, переданным в параметре Index.
  • Функция Field возвращает значение, содержащееся в поле с именем или индексом, заданным параметром Name (строкового типа) текущей записи набора данных. При первом обращении к набору данных текущей является первая запись. Если параметр определяет номер, то поиск поля производится по номеру. Если имя, то по имени.
  • Процедура Next осуществляет переход к следующей записи набора данных.
  • Функция Eof возвращает False, если текущая запись набора данных существует; в случаях, если набор данных пустой, или при помощи метода Next достигнут конец набора данных, возвращает True.
    If LDataSet.Eof then
  'набор данных пуст. Ничего не отобрано.
Else
  While Not LDataSet.Eof
    'работа с очередной отобранной записью
    Cells(LRow, 1).Value = LDataSet.Field("Name")
    Cells(LRow, 2).Value = LDataSet.Field("Description")
    Cells(LRow, 2).Value = LDataSet.Field("Count")
    'переход к следующей записи
    LDataSet.Next
    LRow = LRow + 1
  Wend
End If

9.3.3. Интерфейс IConstants
  IConstants = interface(IDispatch)
    ['{7E7B2D66-5E7C-496A-AE06-EFC485007500}']
    property qpWhat: Integer;
    property qpWhere: Integer;
    property qpOrder: Integer;
    property qpGroup: Integer;
    property qpHaving: Integer;
    property qsNone: Integer;
    property qsObjectID: Integer;
    property qsParentID: Integer;
    property qsHasChildren: Integer;
    property qsFilterCondition: Integer;
    property qsUplink: Integer;
    property qsRootOnly: Integer;
    property qsDescending: Integer;
    property qsCount: Integer;
    property qsSum: Integer;
    property qsMin: Integer;
    property qsMax: Integer;
    property qsAverage: Integer;
    property qsMasterLink: Integer;
    property qsSelectedOnly: Integer;
  end;

Интерфейс предоставляет символические имена констант, необходимых для работы с объектом, реализующим интерфейс IContextDataSet.

Свойство | Значение
qpWhat | 0
qpWhere | 1
qpOrder | 2
qpGroup | 3
qpHaving | 4
qsNone | 0
qsObjectID | 1
qsParentID | 2
qsHasChildren | 3
qsFilterCondition | 4
qsUplink | 5
qsRootOnly | 6
qsDescending | 7
qsCount | 8
qsSum | 9
qsMin | 10
qsMax | 11
qsAverage | 12
qsMasterLink | 13
qsSelectedOnly | 14

9.3.4. Интерфейс IFormContext
  IFormContext = interface(IDispatch)
    ['{1944F1C8-CAEA-4CF9-9A4D-CE3423508FF7}']
    function ChangedControl: OleVariant;
    function ControlCount: Integer;
    function ButtonCount: Integer;
    function ID: WideString;
    procedure Cancel;
    function ControlExists(const Name: WideString): WordBool;
    function ChangedControlName: WideString;
    function ParentForm: OleVariant;
    function RoutineID: WideString;
    procedure PreInitControl(const Name: WideString; Value: OleVariant);
    procedure NavigatorNext;
    procedure NavigatorPrevious;
    function NavigatorCanNext: WordBool;
    function NavigatorCanPrevious: WordBool;
    procedure RefreshView(RefreshAll: WordBool);
    function ExpressionContextValue(const Name: WideString): OleVariant; safecall;
    property Controls[Name: OleVariant]: IControl;
    property Buttons[Name: OleVariant]: IButton;
    property Enabled: WordBool;
  end;

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

  • Функция ChangedControl возвращает объект, реализующий интерфейс IControl, соответствующий элементу управления, изменение которого вызвало исполнение скрипта формы параметров. Если выполнение скрипта вызвано инициализацией формы задания параметров, то значение функции - Empty. Пустоту значения можно проверить с помощью функции VBScript IsEmpty.
  • Функция ControlCount возвращает число элементов управления на форме параметров, как видимых так и невидимых.
  • Функция ButtonCount возвращает число командных кнопок на форме параметров, как видимых так и невидимых.
  • Функция ID возвращает значение идентификатора объекта, для которого вызван метод. Для методов класса возвращает пустое значение.
  • Функция ControlExists возвращает True, если элемент управления с именем Name существует на форме, и, соответственно, существует соответствующий параметр.
  • Функция ChangedControlName возвращает имя элемента управления, изменение которого вызвало исполнение скрипта формы параметров. Если выполнение скрипта вызвано инициализацией формы задания параметров, то значение функции - пустая строка.
  • Процедура Cancel прекращет работу формы задания параметров. Форма закрывается, выполнение действия блокируется.
  • Функция ParentForm возвращает ссылку на контекст родительской формы в цепочке вызовов. В контексте первой формы (вызванной с грида немодальной формы) возвращает пустое значение (Empty). Пустоту значения можно проверить с помощью функции VBScript IsEmpty.
  • Функция RoutineID возвращает идентификатор подпрограммы, для которой вызвана форма.
  • Процедура PreInitControl имитирует предварительную инициализацию элемента управления с именем Name значением, переданным в параметре Value. Сам элемент управления при этом будет скрыт, и не будет показан вплоть до следующего вызова формы пользователем.
  • Процедура NavigatorNext выполняет переход к следующему объекту набора данных, для которого показывается форма параметров.
  • Процедура NavigatorPrevious выполняет переход к предыдущему объекту набора данных, для которого показывается форма параметров.
  • Функция NavigatorCanNext возвращает True, если возможен переход к следующему объекту набора данных, для которого показывается форма параметров.
  • Функция NavigatorCanPrevious возвращает True, если возможен переход к предыдущему объекту набора данных, для которого показывается форма параметров.
  • Процедура RefreshView обновляет набор данных, для которого показывается форма параметров. Если значение параметра RefreshAll равно True, то будет обновлен весь набор, если False, то только выделенные записи.
  • Свойство Controls позволяет обращаться к элементам управления на форме задания параметров, их свойствам и методам. Каждый элемент управления реализует интерфейс IControl. В параметре Name (строкового типа)может быть передано как имя элемента управления, так и его индекс (в этом случае индекс должен быть передан как строка). Имена элементов управления на форме параметров соответствуют именам параметров подпрограммы (метода, отчета, etc).
  • Свойство Buttons позволяет обращаться к командным кнопкам на форме задания параметров, их свойствам и методам. Каждая командная кнопка реализует интерфейс IButton. В параметре Name (строкового типа)может быть передано как имя командной кнопки, так и ее индекс (в этом случае индекс должен быть передан как строка).
  • Свойство Enabled позволяет получать и устанавливать доступность кнопки OK на форме задания параметров. Если на форме есть невалидные (имеющие недопустимые значения) элементы управления, значение свойства всегда равно False и устанавливать его в явном виде в True не рекомендуется. Для учета дополнительного условия рекомендуется использовать следующую конструкцию: Enabled = Enabled and (Controls("SalesCount").Value > 10)
  • Функция ExpressionContextValue возвращает значение переменной контекста с именем Name, которая используется для интeрпретации выражений условий отбора на форме.

9.3.5. Интерфейс IControl
  IControl = interface(IDispatch)
    ['{0662001F-D3D5-4F28-98AC-9B499F70E856}']
    function Name: WideString;
    procedure SetHint(const Value: WideString);
    procedure RefreshLinkedView;
    property Value: OleVariant;
    property ReadOnly: WordBool;
    property IsValid: WordBool;
    property IsEmpty: WordBool;
  end;

Моделирует элемент управления на форме задания параметров. Позволяет управлять поведением элементов управления на форме.

  • Функция Name возвращает имя элемента управления; имена элементов управления всегда совпадают с именамим соответствующих параметров подпрограммы.
  • Процедура SetHint устанавливает текст всплывающей подсказки элемента управления. Всплывыющая подсказка показывается только если значение элемента управления недопустимо (свойство IsValid равно False).
  • Процедура RefreshLinkedView обновит связанное с элементом управления представление.
  • Свойство Value позволяет получать и устанавливать значение, введенное в элемент управления.
  • Свойство ReadOnly позволяет получать и устанавливать доступность элемента управления для записи; при значении True элемент управления не доступен для записи и отображается неактивным.
  • Свойство IsValid позволяет получать и устанавливать "валидность" элемента управления; по умолчанию валидным элемент управления является в том случае, если введенное в него значение соответствует домену соответствующего параметра подпрограммы с учетом наложенного на него условия отбора.
  • Свойство IsEmpty имеет значение True в случае, если в элемент управления не введено никакого значения (элемент управления пустой), в противном случае имеет значение False.

9.3.6. Интерфейс IButton
  IButton = interface(IDispatch)
    ['{1618406F-B9F1-4C5F-BC35-C2A154837CA9}']
    function Name: WideString; safecall;
    procedure Click; safecall;
    property Enabled: WordBool;
  end;

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

  • Функция Name возвращает имя кнопки.
  • Процедура Click эмулирует нажатие на кнопку.
  • Свойство Enabled позволяет получать и устанавливать доступность кнопки.

9.3.7. Интерфейс IBinaryData
  IBinaryData = interface(IDispatch)
    ['{8A9F7CB3-230A-4048-B938-852CBF6ADB2D}']
    procedure Load(const Src: OleVariant);
    procedure Append(const Src: OleVariant);
    procedure Save(const Dst: OleVariant);
    function Size: Cardinal;
    function ToString(Encoding: WideString): WideString;
    procedure FromString(Data: OleVariant);
    procedure AppendString(Data: OleVariant);
    function ToBase64: WideString;
    procedure FromBase64(Data: OleVariant);

Представляет набор двоичных данных.

  • Процедура Load загружает двоичные данные из переданного источника. Источник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Процедура Append добавляет двоичные данные из переданного источника. Источник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Процедура Save сохраняет двоичные данные в переданный приемник. Приемник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Функция ToString переводит данные в строку. Байты, содержашиеся в объекте, будут рассматриваться как содержащие строку в кодировке, заданной параметром Encoding. По умолчанию используется кодировка UTF-8
  • Процедура FromString загружает данные из строки, переданной в параметре Data, перекодировав ее в кодировку UTF-8
  • Процедура AppendString добавляет данные из строки, переданной в параметре Data, перекодировав ее в кодировку UTF-8
  • Функция ToBase64 возвращает строку, полученную путем кодирования в формат Base64, данных содержащихся в объекте
  • Процедура FromBase64 загружает данные из строки, переданной в параметре Data, раскодировав ее из формата Base64

9.3.8. Интерфейс IContextExpressionInfo
  IContextExpressionInfo = interface(IUnknown)
    ['{C7518427-B515-4EB4-B698-88656E6CBF7C}']
    function Count: Integer;
    function ItemName(Index: Integer): WideString;
    function ItemValue(Index: Integer): OleVariant;
    function ItemDomain(Index: Integer): OleVariant;
  end;

Через реализацию этого интерфейса передаются значения контекстных переменных при обращении к функции selectValue интерфейса IContext.

  • Функция Count возвращает количество используемых контекстных переменных. Нумерация контекстных переменных начинается с нуля.
  • Функция ItemName возвращает имя контекстной переменной c номером, переданным в параметре Index.
  • Функция ItemValue возвращает значение контекстной переменной c номером, переданным в параметре Index.
  • Функция ItemDomain возвращает имя домена контекстной переменной c номером, переданным в параметре Index.

9.3.9. Интерфейс IExceptionHandler
  IExceptionHandler = interface(IDispatch)
    ['{3C3C7202-5ED5-4EB4-9CDD-A929C18CA8BD}']
    procedure HandleException(ContextObject: OleVariant;
      const Message: WideString;
      const ExtentedInfo: WideString);
  end;

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

Для реализации интерфеса используется библиотека hse.tlb, входящая в состав поставки решения. Перед началом работы с ней, необходимо зарегистрировать ее в операционной системе.

Для установки настроек интерфейса необходимо открыть Системную форму раздела АДМИНИСТРАТОРУ, перейти на вкладку Настройки и в столбце "Заголовок закладки" установить фильтр "Обработка ошибок".

После этого в качестве значения Идентификатора класса установить "IExceptionHandler" без кавычек.

Для Библиотеки кода указать значение HSE.tlb

9.4. Справочник по метаданным

9.4.1. Вещественный домен Float (Вещественное)

Используется для репрезентации "вещественного вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого вещественного значения.

9.4.2. Домен больших объектов TBinaryData (Двоичные данные)
Тип сохраненных данных - btBinaryData(Двоичные данные).

Используется для описания больших двоичных объектов, содержимое которых никак не интерпретируется системой.

9.4.3. Домен больших объектов TComment (Текстовый комментарий)
Тип сохраненных данных - btText (Текст).
При работе с файломи используется расширение имени ".txt".

Используется для хранения текстовых комментариев, описаний произвольной длины. Значение интерпретируется как текст.

9.4.4. Домен больших объектов TExcelTemplateData (Данные Excel-шаблона)
Тип сохраненных данных - btBinaryData (Двоичные данные). При работе с файломи используется расширение имени " .xls ".

Используется для хранения в базе рабочих книг Microsoft Excel, например, шаблонов отчетов Excel

Тип сохраненных данных - btBinaryData (Двоичные данные).
При работе с файломи используется расширение имени ".xls".

9.4.5. Домен больших объектов TFileContent (Содержимое файлов)
Тип сохраненных данных - btBinaryData (Двоичные данные).

Используется для хранения содержимого доступного файла.

9.4.6. Домен больших объектов TFilterCondition (Условие отбора)
Тип сохраненных данных - btSourceCode (Исходный код).

Содержит выражение на языке PascalScript, определяющее условие отбора.

Тип сохраненных данных - btSourceCode (Исходный код).

9.4.7. Домен больших объектов TImage (Изображение)
Тип сохраненных данных - btImage (Изображение). При работе с файломи используется расширение имени " .bmp ".

Используется для хранения изображений-иконок визуальных элементов системы.

Тип сохраненных данных - btImage (Изображение).
При работе с файломи используется расширение имени ".bmp".

9.4.8. Домен больших объектов TInlineExpressionText (Текст выражения)
Тип сохраненных данных - btSourceCode (Исходный код).

Содержит выражение на языке PascalScript, определяющее логику работы встраиваемого выражения.

9.4.9. Домен больших объектов TMethodBody (Исходные тексты методов)
Тип сохраненных данных - btSourceCode (Исходный код).

Содержит исходный текст метода на языке PascalScript.

Тип сохраненных данных - btSourceCode (Исходный код).

9.4.10. Домен больших объектов TRoutineScript (Скрипты форм параметров)
Тип сохраненных данных - btText (Текст).

Содержит скрипт формы задания параметров на языке VBScript.

Тип сохраненных данных - btVisualBasicScript (Скрипт Visual Basic).
При работе с файломи используется расширение имени ".vbs".

9.4.11. Домен больших объектов TWordTemplateData (Данные Word-шаблона)
Тип сохраненных данных - btBinaryData (Двоичные данные). При работе с файломи используется расширение имени " .doc ".

Используется для хранения в базе документов Microsoft Word, например, шаблонов отчетов Word

Тип сохраненных данных - btBinaryData (Двоичные данные).
При работе с файломи используется расширение имени ".doc".

9.4.12. Домен больших объектов TXSLTTemplateData (Данные XSLT-шаблона)
Тип сохраненных данных - btXML (XML-документ). При работе с файлами используется расширение имени " .xsl ".

Используется для хранения в базе данных скриптов xslt-преобразований, например, шаблонов отчетов XSLT.

Тип сохраненных данных - btXML (XML-документ).
При работе с файломи используется расширение имени " .xsl ".

9.4.13. Домен времени TTime (Время)

Используется для репрезентации "времени вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого значения времени.

9.4.14. Домен дат TDate (Дата)

Используется для репрезентации "даты вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты.

9.4.15. Домен дат со временем TimeStamp (Момент)

Используется для репрезентации "даты со временем вообще" в функциях библиотеки времени исполнения, либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты со временем.

>

9.4.16. Домен дат со временем TimeStamp required (Момент (обязательный))
Значение обязательно для заполнения.

Используется для репрезентации "даты со временем вообще" в функциях библиотеки времени исполнения, либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты со временем.

9.4.17. Домен ссылок на объекты TAccessor domain (Роли доступа)
Ссылка на класс TSecurityAccount (Роли безопасности) . Используется для обозначения роли безопасности, используемой при создании объектов для обеспечения защиты данных в соответствии с правами пользователя.

Ссылка на класс TSecurityAccount (Роли безопасности).

9.4.18. Домен ссылок на объекты TActionRoutine required domain (Метод действия)
Значение обязательно для заполнения.
Ссылка на класс TRoutine (Подпрограмма).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен используется для отбора подпрограмм, по которым можно построить программируемое действие. Домен отбирает только те подпрограммы, которые принадлежат к классу, на котором основано представление, в которое включается (включено) действие, к его предкам и его потомкам в иерархии наследования. Доступ к потомкам необходим, чтобы обеспечить возможность создания объектов конечных неабстрактных бизнес-классов из представления, обеспечивающего доступ к объектам абстрактного класса.

Использование этого домена в прикладных решениях запрещено.

9.4.19. Домен ссылок на объекты TBanGroup domain (Группа запретов)
Значение обязательно для заполнения.
Ссылка на класс TBanGroup (Группы запретов).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен используется дочерними классами групп запретов.

9.4.20. Домен ссылок на объекты TBannedProperty domain (Свойство для запрета)
Значение обязательно для заполнения.
Ссылка на класс TProperty (Свойства).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает свойства класса, по которому строится запрет на свойство, либо его предков.

Использование этого домена в прикладных решениях запрещено.

9.4.21. Домен ссылок на объекты TBannedRoutine domain (Подпрограмма для запрета)
Значение обязательно для заполнения. Ссылка на класс TRoutine (Подпрограмма) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает подпрограммы класса, по которому строится запрет на свойство, либо его предков.

Использование этого домена в прикладных решениях запрещено.

Значение обязательно для заполнения.
Ссылка на класс TRoutine (Подпрограмма).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Объекты отбираются по следующему условию:

BannedClass.HasAsParent(Self.Master)

9.4.22. Домен ссылок на объекты TButtonParameter domain (Параметр командной кнопки)

9.4.23. Домен ссылок на объекты TClass domain (Класс)
Ссылка на класс TClass (Классы) .

Используется для задания необязательной ссылки на класс.

9.4.24. Домен ссылок на объекты TClass required cascade domain (Класс (с каскадным удалением))
Значение обязательно для заполнения. Ссылка на класс TClass (Классы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания обязательной каскадной ссылки на класс в объектах-запрещениях. Удаление классов должно приводить к удалению связанных с ними запрещений.

9.4.25. Домен ссылок на объекты TClass required domain (Класс (обязательно))
Значение обязательно для заполнения. Ссылка на класс TClass (Классы) .

Используется для задания обязательной ссылки на класс.

9.4.26. Домен ссылок на объекты TCodeLibrary domain (Библиотека кода)
Ссылка на класс TAccessibleFile (Доступный файл) . При удалении объекта-источника ссылки значение ссылки очищается.

Используется для организации связи между методом Ole-объекта и доступным файлом, содержащим реализацию метода.

Использование этого домена в прикладных решениях запрещено.

9.4.27. Домен ссылок на объекты TColorProperty domain (Домен свойства цвета)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается.

Домен отбирает свойства класса, на котором основано представление, или его предков, имеющие тип Цвет строки таблицы.

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

Использование этого домена в прикладных решениях запрещено.

9.4.28. Домен ссылок на объекты TColumnProperty domain (Свойство колонки)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает свойства класса, на котором основано представление, или его предков.

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

Использование этого домена в прикладных решениях запрещено.

9.4.29. Домен ссылок на объекты TDetailProperty domain (Свойство-подчиненное)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается.

Домен отбирает свойства класса, на котором основано представление, или его предков для организации связи между представлениями.

Использование этого домена в прикладных решениях запрещено.

9.4.30. Домен ссылок на объекты TDomain domain (Домен)
Ссылка на класс TDomain (Домены) .

Используется для задания необязательной ссылки на домен.

9.4.31. Домен ссылок на объекты TDomain required domain (Домен (обязательно))
Значение обязательно для заполнения. Ссылка на класс TDomain (Домены) .

Используется для задания обязательной ссылки на домен.

9.4.32. Домен ссылок на объекты TForm required domain (Форма (обязательно))
Значение обязательно для заполнения. Ссылка на класс TForm (Формы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания обязательной ссылки на форму.

9.4.33. Домен ссылок на объекты TFormView domain (Представления форм)
Ссылка на класс TFormView (Представления формы) . При удалении объекта-источника ссылки значение ссылки очищается.

Используется для задания ссылки на представление формы.

Использование этого домена в прикладных решениях не рекомендуется.

9.4.34. Домен ссылок на объекты TInitializationMember domain (Член класса для инициализации)
Ссылка на класс TClassMember (Члены класса) .

Домен отбирает члены класса, которые

  • либо являются свойствами того же класса, которому принадлежит родительский метод параметра, либо его предков, домен которых совпадает по классу с доменом параметра
  • либо являются функциями того же класса, которому принадлежит родительский метод параметра, либо его предков, домен результата которых совпадает по классу с доменом параметра

Использование этого домена в прикладных решениях запрещено.

9.4.35. Домен ссылок на объекты TList domain (Список объектов)
Ссылка на класс TObjectList (Списки) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания каскадной ссылки на список объектов. Списки могут использоваться в тех случаях, в которых необходимо передавать набор объектов.

9.4.36. Домен ссылок на объекты TMaster domain (Объект (с каскадным удалением))
Значение обязательно для заполнения. Ссылка на класс TObject (Объекты) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает объекты, которые принадлежат к тому классу, который объявлен классом-мастером класса объекта.

Использование этого домена в прикладных решениях запрещено.

Этот домен используется в объявлении свойства TObject.Master, поэтому значение его сделано обязательным: в тех случаях, когда cвойство TObject.Master (Мастер) имеет смысл (для объектов, инкапсулированных в другие объекты), значение свойства обязательно.

9.4.37. Домен ссылок на объекты TMaster field domain (Домен поля "Мастер")
Ссылка на класс TObject (Объекты) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает объекты, которые принадлежат к тому классу, который объявлен классом-мастером класса объекта.

Использование этого домена в прикладных решениях запрещено.

Этот домен используется в объявлении поля TObject.FMaster (Мастер), поэтому значение его сделано необязательным: объектах, не инкапсулированных в другие классы значение поля обязано оставаться пустым.

Ссылка на класс TObject (Объекты).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

9.4.38. Домен ссылок на объекты TMasterProperty domain (Свойство-главное)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается.

Домен отбирает свойства класса, на котором основано родительское в форме представление, или его предков для организации связи между представлениями.

Использование этого домена в прикладных решениях запрещено.

9.4.39. Домен ссылок на объекты TMergedObject domain (Объект для отождествления)
Значение обязательно для заполнения. Ссылка на класс TObject (Объекты) .

Объект отбирает объекты, включенные в тот же объект, что и текущий (либо они оба не включены ни в какой), и класс которых совпадает либо является родителем класса текущего объекта.

Использование этого домена в прикладных решениях запрещено.

9.4.40. Домен ссылок на объекты TObject domain (Объект)
Ссылка на класс TObject (Объекты) .

Домен определяет необязательную ссылку на объект системы. Используется там, где нельзя сделать предположения о классе передаваемого объекта.

9.4.41. Домен ссылок на объекты TOption required domain (Настройка (обязательно))
Значение обязательно для заполнения. Ссылка на класс TOption (Настройки) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен определяет обязательную ссылку на настройку системы и используется значениями настроек.

Использование этого домена в прикладных решениях запрещено.

9.4.42. Домен ссылок на объекты TOptionValue domain (Значение настройки)
Ссылка на класс TOptionValue (Значения настроек) .

Домен определяет ссылку на значение настройки системы.

9.4.43. Домен ссылок на объекты TParent domain (Родитель объекта)
Ссылка на класс TObject (Объекты) .

Домен отбирает объекты, которые могуть быть родителем объекта в иерархии.

Использование этого домена в прикладных решениях запрещено. Там, где это необходимо, используйте специализированные домены.

9.4.44. Домен ссылок на объекты TReadMember domain (Член класса для чтения)
Ссылка на класс TClassMember (Члены класса) .

Домен отбирает члены класса, которые

  • либо являются полями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен которых совпадает по классу с доменом свойства
  • либо являются функциями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен результата которых совпадает по классу с доменом свойства
  • либо являются встраиваемыми выражениями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен результата которых совпадает по классу с доменом свойства

Использование этого домена в прикладных решениях запрещено.

9.4.45. Домен ссылок на объекты TSecurityAccount domain (Роль безопасности)
Ссылка на класс TSecurityAccount (Роли безопасности) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания необязательной каскадной ссылки на роль безопасности.

9.4.46. Домен ссылок на объекты TSecurityAccount required domain (Роль безопасности (обязательно))
Значение обязательно для заполнения. Ссылка на класс TSecurityAccount (Роли безопасности) .

Используется для задания обязательной ссылки на роль безопасности.

9.4.47. Домен ссылок на объекты TSourceDataBase required domain (База данных)
Значение обязательно для заполнения. Ссылка на класс TDataBase (Базы данных) .

Домен используется для организации ссылки на логическую базу данных Системы.

Использование этого домена в прикладных решениях запрещено.

9.4.48. Домен ссылок на объекты TUser domain (Пользователь)
Ссылка на класс TUser (Пользователи) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания необязательной каскадной ссылки на пользователя Системы.

9.4.49. Домен ссылок на объекты TUser required domain (Пользователь)
Значение обязательно для заполнения. Ссылка на класс TUser (Пользователи) .

Используется для задания обязательной ссылки на пользователя.

9.4.50. Домен ссылок на объекты TView of ClassDomain domain (Представление)
Ссылка на класс TView (Представления) .

Домен отбирает те представления, которые основаны на классе, на который указывает ссылочный домен, либо на его предков.

Использование этого домена в прикладных решениях запрещено.

9.4.51. Домен ссылок на объекты TView of FormView domain (Представление для формы)
Значение обязательно для заполнения. Ссылка на класс TView (Представления) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен используется для постороения иерархии представлений форм и действий, основанных на представлении.

Использование этого домена в прикладных решениях запрещено.

9.4.52. Домен ссылок на объекты TVisualGroup required domain (Визуальная группа (обязательно))
Значение обязательно для заполнения. Ссылка на класс TVisualGroup (Визуальные группы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания обязательной ссылки на визуальную группу.

9.4.53. Домен ссылок на объекты TVisualGroup routine domain (Подпрограмма визуальной группы)
Значение обязательно для заполнения. Ссылка на класс TRoutine (Подпрограмма) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Отбирает подпрограммы, являющиеся методами класса, для использования в элементах визуальных групп.

Использование этого домена в прикладных решениях запрещено.

9.4.54. Домен ссылок на объекты TWriteMember domain (Член класса для записи)
Ссылка на класс TClassMember (Члены класса) .

Домен отбирает члены класса, которые

  • либо являются полями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен которых совпадает по классу с доменом свойства
  • либо являются процедурами с одним параметром того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен результата которых совпадает по классу с доменом свойства

Использование этого домена в прикладных решениях запрещено.

9.4.55. Класс TAccessItem (Элементы доступа)

9.4.55.1. Конструктор TAccessItem.Create (Конструктор элемента доступа)

9.4.55.2. Поле TAccessItem.FSecurityAccount (Роль безопасности)

9.4.55.3. Свойство TAccessItem.Description (Наименование)

9.4.55.4. Свойство TAccessItem.Name (Имя)

9.4.55.5. Свойство TAccessItem.SecurityAccount (Роль безопасности)

9.4.55.6. Функция TAccessItem.GetIsAccessible (Проверка доступности)

9.4.56. Класс TAccessibleFile (Доступный файл)
Унаследован от класса TObject (Объекты).

Класс предназначен для хранения (двоичных) именованных (cвойство TObject.Name (Имя)) файлов внутри Системы. Содержимое этих файлов используется Системой в качестве источника статичных данных (картинок, стилевых таблиц, скриптовых библиотек, etc), доступных по протоколу http внутри отчета XSLT и для хранения библиотек кода, содержащих логику работы методов Ole-объекта. Разработчик решения вправе распорядится доступными файлами по своему усмотрению.

9.4.56.1. Конструктор TAccessibleFile.Create (Конструктор доступного файла)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
FileData (Данные файла) | TFileContent (Содержимое файлов) |  | Доступен |

Конструирует объект класса TAccessibleFile (Доступный файл) .

9.4.56.2. Поле TAccessibleFile.FFileData (Данные файла)
FFileData: TFileContent (Содержимое файлов).

Используется для хранения значений свойства TAccessibleFile.FileData (Данные файла).

9.4.56.3. Свойство TAccessibleFile.FileData (Данные файла)
FileData : TFileContent (Содержимое файлов) .

Для чтения и записи свойства используется поле TAccessibleFile.FFileData (Данные файла) .

Это свойство определяет содержимое доступного файла.

9.4.57. Класс TAction (Действия)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

Объекты класса моделируют элементы контектсного меню представления. Иерархия элементов контектсного меню отображается на иерахию объектов класса.

Сам по себе объект класса TAction определяет положение и поведение соответствующего пункта контекстного меню, кроме ассоциированного с пуктом действия. Для спецификации этого действия существуют классы-наследники TAction: класс TRoutineAction (Программируемое действие) и класс TViewAction (Действие-представление). Таким образом, объекты собственно класса TAction создаются на месте родительских пунктов контекстного меню, раскрывающихся, содержащих Стрелка раскрытия контекстного меню. Несмотря на то, что класс не является абстратным в строгом смылсле этого слова, ни одного объекта этого класса в системных метаданных нет в силу простоты структуры контекстного меню системных представлений. Разработчик решений не ограничен в создании и использовании объектов этого класса. Никаких общих рекомендаций тут быть не может, единственное, что можно утверждать - что контекстное меню должно быть удобным и в достижении этой цели можно организовывать требуемую иерархическую структуру.

Иерархия объектов класса TAction
На основе иерархии действий, показанной на рисунке (в таблице отображен фактический класс каждого объекта) построено следующее контекстное меню:
Контекстное меню, построенное на основе иерархии объектов класса TAction

9.4.57.1. Конструктор TAction.Create (Конструктор действия)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) |  | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TAction (Действия) .

9.4.57.2. Поле TAction.FDefault (По умолчанию)
FDefault : Boolean (Обычное логическое) (обязательно для заполнения).

Используется для хранения значений свойства TAction.Default (По умолчанию).

9.4.57.3. Поле TAction.FPosition (Позиция)
FPosition : TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TAction.Position (Позиция).

9.4.57.4. Поле TAction.FSeparated (Отделено)
FSeparated : Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TAction.Separated (Отделено).

9.4.57.5. Поле TAction.FShortcut (Горячая клавиша)
FShortcut : TShortcut (Горячие клавиши) .

Используется для хранения значений свойства TAction.Shortcut (Горячая клавиша).

9.4.57.6. Свойство TAction.Default (По умолчанию)
Default : Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FDefault (По умолчанию) .

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

Действие по умолчанию

9.4.57.7. Свойство TAction.Position (Позиция)
Position : TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FPosition (Позиция) .

Действия сортируются в пределах уровня для построения контекстного меню в порядке возрастания этого своства.

9.4.57.8. Свойство TAction.Separated (Отделено)
Separated : Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FSeparated (Отделено) .

После пункта меню, соответствующего действию с установленным свойством, будет отображен разделитель. Если пункт меню - последний, то разделитель не будет отображен.

Разделитель в контектстном меню

9.4.57.9. Свойство TAction.Shortcut (Горячая клавиша)
Shortcut : TShortcut (Горячие клавиши) .

Для чтения и записи свойства используется поле TAction.FShortcut (Горячая клавиша) .

Горячая клавиша определяет связь между нажатием сочетания клавиш на клавиатуре и действием, ассоциированным с пунктом меню. Тест, описывающий горячую клавишу, располагается справа в контекстном меню для тех действий, для которых горячая клавиша назначена.

9.4.57.10. Функция TAction.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен | Master (Мастер)
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Возвращает значение типа Integer (Целое).

Используется для инициализации значения параметра Position (Позиция) метода TAction.Create (Конструктор действия). Вычисляет следующую позицию добавляемого действия.

9.4.58. Класс TBanGroup (Группы запретов)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TBanGroupAccess (Доступ к группам запретов)
  • TBanGroupItem (Элементы группы запретов)
  • TClassBan (Запрет на класс)
  • TRoutineBan (Запрет на подпрограмму)
  • TPropertyBan (Запрет на свойство)

Объекты класса определяют группы запретов. Запреты на классы, свойства и подпрограммы объединяются разработчиком в функциональные группы, являющиеся группами запретов. В дальнейшем эти группы ассоциируются с конкретными ролями безопасности.

9.4.58.1. Конструктор TBanGroup.Create (Конструктор группы запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TBanGroup (Группы запретов) .

9.4.58.2. Свойство TBanGroup.IsAccessible (Доступна)
IsAccessible : Boolean (Обычное логическое) (обязательно для заполнения).

Для чтения значения свойства используется функция TBanGroup.GetIsAccessible (Доступна) . Свойство доступно только для чтения.

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

9.4.58.3. Функция TBanGroup.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TBanGroup.IsAccessible (Доступна).

9.4.59. Класс TBanGroupAccess (Доступ к группам запретов)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

Объекты класса определяют связь между родительской группой запретов и ролью безопасности.

Имя и наименование объекта полностью определяются другими свойствами, и запрещены для изменения.

9.4.59.1. Конструктор TBanGroupAccess.Create (Конструктор доступа к группе запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Группа запретов) | TBanGroup domain (Группа запретов) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TBanGroupAccess (Доступ к группам запретов) .

9.4.60. Класс TBanGroupItem (Элементы группы запретов)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

9.4.60.1. Конструктор TBanGroupItem.Create (Конструктор элемента группы запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TBanGroupItem (Элементы группы запретов) .

9.4.61. Класс TBlobDomain (Большие объекты)
Унаследован от класса TDomain (Домены) .

9.4.61.1. Конструктор TBlobDomain.Create (Конструктор домена больших объектов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
BlobSubtype (Подтип) | TBlobSubtype (Подтип) |  | Доступен |
Extension (Расширение) | TFileExtension (Расширение имени файла) |  | Доступен |

Конструирует объект класса TBlobDomain (Большие объекты) .

9.4.61.2. Поле TBlobDomain.FBlobSubtype (Подтип)
FBlobSubtype: TBlobSubtype (Подтип) (обязательно для заполнения) .

Используется для хранения значений свойства TBlobDomain.BlobSubtype (Подтип)
.

9.4.61.3. Поле TBlobDomain.FExtension (Расширение имени)
FExtension: TFileExtension (Расширение имени файла) .

Используется для хранения значений свойства TBlobDomain.Extension (Расширение)
.

9.4.61.4. Свойство TBlobDomain.BlobSubtype (Подтип)
BlobSubtype: TBlobSubtype (Подтип) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBlobDomain.FBlobSubtype (Подтип) .

9.4.61.5. Свойство TBlobDomain.Extension (Расширение)
Extension: TFileExtension (Расширение имени файла) .

Для чтения и записи свойства используется поле TBlobDomain.FExtension (Расширение имени) .

9.4.62. Класс TBooleanDomain (Логические)
Унаследован от класса TDomain (Домены) .

9.4.62.1. Конструктор TBooleanDomain.Create (Конструктор логического домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
TrueValue (Значение "Истина") | TObjectName (Имена) |  | Доступен |
FalseValue (Значение "Ложь") | TObjectName (Имена) |  | Доступен |

Конструирует объект класса TBooleanDomain (Логические) .

9.4.62.2. Поле TBooleanDomain.FFalseValue (Значение "Ложь")
FFalseValue: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойства TBooleanDomain.FalseValue (Значение "Ложь")
.

9.4.62.3. Поле TBooleanDomain.FTrueValue (Значение "Истина")
FTrueValue: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойства TBooleanDomain.TrueValue (Значение "Истина")
.

9.4.62.4. Свойство TBooleanDomain.FalseValue (Значение "Ложь")
FalseValue: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBooleanDomain.FFalseValue (Значение "Ложь") .

9.4.62.5. Свойство TBooleanDomain.TrueValue (Значение "Истина")
TrueValue: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBooleanDomain.FTrueValue (Значение "Истина") .

9.4.63. Класс TClass (Классы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты могут включать в себя объекты классов:
  • TClassMember (Члены класса)
  • TField (Поля)
  • TProperty (Свойства)
  • TMethod (Методы)
  • TXSLTTemplate (Шаблоны отчетов XSLT)
  • TExcelTemplate (Шаблоны отчетов Excel)
  • TRoutine (Подпрограмма)
  • TOleObjectMethod (Метод Ole-объекта)
  • TInlineExpression (Встраиваемое выражение)
  • TWordTemplate (Шаблоны отчетов Word)

9.4.63.1. Конструктор TClass.Create (Конструктор класса)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsHierarhical (Является иерархическим) | Boolean (Обычное логическое) |  | Доступен |
MasterClass (Класс-мастер) | TClass domain (Класс) |  | Доступен |
ReplicationStatus (Статус репликации) | TReplicationStatus (Статус репликации) |  | Доступен |
SecurityModel (Модель безопасности) | TSecurityModel (Модели безопасности) |  | Доступен |
UnNamed (Неименованный) | Boolean (Обычное логическое) |  | Доступен |
NameExpression (Выражение имени объекта) | TInlineExpressionText (Текст выражения) |  | Доступен |
DescriptionExpression (Выражение наименования объекта) | TInlineExpressionText (Текст выражения) |  | Доступен |
CreateConstructor (Создать конструктор) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TClass (Классы) .

9.4.63.2. Поле TClass.FDescriptionExpression (Выражение наименования объекта)
FDescriptionExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TClass.DescriptionExpression (Выражение наименования объекта)
.

9.4.63.3. Поле TClass.FIsHierarhical (Является иерархическим)
FIsHierarhical: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.IsHierarhical (Является иерархическим)
.

9.4.63.4. Поле TClass.FMasterClass (Класс-мастер)
FMasterClass: TClass domain (Класс) .

Используется для хранения значений свойств:
TClass.MasterClass (Класс-мастер)
TView.ShownClassMasterClass (Класс-мастер показываемого)
.

9.4.63.5. Поле TClass.FNameExpression (Выражение имени объекта)
FNameExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TClass.NameExpression (Выражение имени объекта)
.

9.4.63.6. Поле TClass.FReplicationStatus (Статус репликации)
FReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Используется для хранения значений свойств:
TClass.ReplicationStatus (Статус репликации)
TObject.ReplicationStatus (Статус репликации)
TView.ShownClassReplicationStatus (Статус репликации класса)
.

9.4.63.7. Поле TClass.FSecurityModel (Модель безопасности)
FSecurityModel: TSecurityModel (Модели безопасности) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.SecurityModel (Модель безопасности)
.

9.4.63.8. Поле TClass.FUnNamed (Неименованный)
FUnNamed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.UnNamed (Неименованный)
.

9.4.63.9. Процедура TClass.GenerateConstructor (Сгенерировать текст конструктора)

9.4.63.10. Свойство TClass.DescriptionExpression (Выражение наименования объекта)
DescriptionExpression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TClass.FDescriptionExpression (Выражение наименования объекта) .

9.4.63.11. Свойство TClass.IsHierarhical (Является иерархическим)
IsHierarhical: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TClass.FIsHierarhical (Является иерархическим) .

9.4.63.12. Свойство TClass.MasterClass (Класс-мастер)
MasterClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TClass.FMasterClass (Класс-мастер) .

9.4.63.13. Свойство TClass.NameExpression (Выражение имени объекта)
NameExpression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TClass.FNameExpression (Выражение имени объекта) .

9.4.63.14. Свойство TClass.ReplicationStatus (Статус репликации)
ReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

9.4.63.15. Свойство TClass.SecurityModel (Модель безопасности)
SecurityModel: TSecurityModel (Модели безопасности) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FSecurityModel (Модель безопасности) .

9.4.63.16. Свойство TClass.UnNamed (Неименованный)
UnNamed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FUnNamed (Неименованный) .

9.4.63.17. Функция TClass.ListProperties (Список видимых свойств)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

Возвращает значение типа TList domain (Список объектов) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

9.4.63.18. Функция TClass.ListRoutines (Список видимых подпрограмм)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

Возвращает значение типа TList domain (Список объектов) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

9.4.63.19. Шаблон отчета XSLT TClass.ClassesDiagram (Диаграмма классов)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ShowFields (Показывать поля) | Boolean (Обычное логическое) |  | Доступен |
ShowMethods (Показывать методы) | Boolean (Обычное логическое) |  | Доступен |
ShowProperties (Показывать свойства) | Boolean (Обычное логическое) |  | Доступен |
ShowParameters (Показывать параметры) | Boolean (Обычное логическое) |  | Доступен |
ShowMetadata (Показывать метаданные) | Boolean (Обычное логическое) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ShowFields (Показывать поля) | Boolean (Обычное логическое) |  | Доступен |
ShowMethods (Показывать методы) | Boolean (Обычное логическое) |  | Доступен |
ShowProperties (Показывать свойства) | Boolean (Обычное логическое) |  | Доступен |
ShowParameters (Показывать параметры) | Boolean (Обычное логическое) |  | Доступен |
ShowMetadata (Показывать метаданные) | Boolean (Обычное логическое) |  | Доступен |

9.4.64. Класс TClassBan (Запрет на класс)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

9.4.64.1. Конструктор TClassBan.Create (Конструктор запрета на класс)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |

Конструирует объект класса TClassBan (Запрет на класс) .

9.4.64.2. Поле TClassBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TClassBan.BannedClass (Запрещаемый класс)
.

9.4.64.3. Свойство TClassBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TClassBan.FBannedClass (Запрещенный класс) .

9.4.65. Класс TClassDomain (Ссылки на объекты)
Унаследован от класса TDomain (Домены) .

9.4.65.1. Конструктор TClassDomain.Create (Конструктор домена-ссылки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
ClassOfDomain (Класс домена) | TClass required domain (Класс (обязательно)) |  | Доступен |
View (Представление для выбора) | TView of ClassDomain domain (Представление) |  | Доступен |
FilterCondition (Условие отбора) | TFilterCondition (Условие отбора) |  | Доступен |
ShowObjectInfoType (Тип представления объектов) | TShowObjectInfoType (Тип представления объектов) |  | Доступен |
DeleteRule (Правило удаления) | TDeleteRule (Правило удаления) |  | Доступен |

Конструирует объект класса TClassDomain (Ссылки на объекты) .

9.4.65.2. Поле TClassDomain.FClass (Класс)
FClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.ClassOfDomain (Класс домена)
.

9.4.65.3. Поле TClassDomain.FDeleteRule (Правило удаления)
FDeleteRule: TDeleteRule (Правило удаления) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.DeleteRule (Правило удаления)
.

9.4.65.4. Поле TClassDomain.FFilterCondition (Условие отбора)
FFilterCondition: TFilterCondition (Условие отбора) .

Используется для хранения значений свойства TClassDomain.FilterCondition (Условие отбора)
.

9.4.65.5. Поле TClassDomain.FShowObjectInfoType (Тип представления объектов)
FShowObjectInfoType: TShowObjectInfoType (Тип представления объектов) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.ShowObjectInfoType (Тип представления объектов)
.

9.4.65.6. Поле TClassDomain.FView (Представление)
FView: TView of ClassDomain domain (Представление) .

Используется для хранения значений свойства TClassDomain.View (Представление)
.

9.4.65.7. Свойство TClassDomain.ClassOfDomain (Класс домена)
ClassOfDomain: TClass domain (Класс) .

Для чтения и записи свойства используется поле TClassDomain.FClass (Класс) .

9.4.65.8. Свойство TClassDomain.ClassReplicationStatus (Статус репликации класса)

9.4.65.9. Свойство TClassDomain.DeleteRule (Правило удаления)
DeleteRule: TDeleteRule (Правило удаления) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClassDomain.FDeleteRule (Правило удаления) .

9.4.65.10. Свойство TClassDomain.FilterCondition (Условие отбора)
FilterCondition: TFilterCondition (Условие отбора) .

Для чтения и записи свойства используется поле TClassDomain.FFilterCondition (Условие отбора) .

9.4.65.11. Свойство TClassDomain.ShowObjectInfoType (Тип представления объектов)
ShowObjectInfoType: TShowObjectInfoType (Тип представления объектов) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClassDomain.FShowObjectInfoType (Тип представления объектов) .

9.4.65.12. Свойство TClassDomain.View (Представление)
View: TView of ClassDomain domain (Представление) .

Для чтения и записи свойства используется поле TClassDomain.FView (Представление) .

9.4.66. Класс TClassMember (Члены класса)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TClass (Классы) .

9.4.67. Класс TCommandButton (Командные кнопки)

9.4.67.1. Конструктор TCommandButton.Create (Конструктор командной кнопки)

9.4.67.2. Поле TCommandButton.FGroup (Заголовок группы)

9.4.67.3. Поле TCommandButton.FParameter (Связанный параметр)

9.4.67.4. Поле TCommandButton.FPosition (Позиция)

9.4.67.5. Поле TCommandButton.FScript (Скрипт)

9.4.67.6. Поле TCommandButton.FTab (Заголовок закладки)

9.4.67.7. Свойство TCommandButton.Group (Заголовок группы)

9.4.67.8. Свойство TCommandButton.Parameter (Связанный параметр)

9.4.67.9. Свойство TCommandButton.Position (Позиция)

9.4.67.10. Свойство TCommandButton.Script (Скрипт)

9.4.67.11. Свойство TCommandButton.Tab (Заголовок закладки)

9.4.67.12. Функция TCommandButton.GetNextPos (Следующая позиция)

9.4.68. Класс TDataBase (Базы данных)
Унаследован от класса TObject (Объекты) .

9.4.68.1. Конструктор TDataBase.Create (Конструктор базы данных)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
GUID (GUID) | TGUID (Уникальные идентификаторы) |  | Доступен |
Protected (Защищена) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TDataBase (Базы данных) .

9.4.68.2. Поле TDataBase.FGUID (Идентификатор)
FGUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDataBase.GUID (Идентификатор)
TObject.SourceDataBaseGUID (GUID базы даных-источника)
.

9.4.68.3. Поле TDataBase.FIsCurrent (Является текущей)
FIsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDataBase.IsCurrent (Является текущей)
TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
.

9.4.68.4. Поле TDataBase.FProtected (Защищена)
FProtected: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TDataBase.Protected (Защищена от изменений)
.

9.4.68.5. Свойство TDataBase.GUID (Идентификатор)
GUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FGUID (Идентификатор) .

9.4.68.6. Свойство TDataBase.IsCurrent (Является текущей)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FIsCurrent (Является текущей) .

9.4.68.7. Свойство TDataBase.Protected (Защищена от изменений)
Protected: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDataBase.FProtected (Защищена) .

9.4.69. Класс TDateDomain (Даты)
Унаследован от класса TDomain (Домены) .

9.4.69.1. Конструктор TDateDomain.Create (Конструктор домена даты)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TDateDomain (Даты) .

9.4.70. Класс TDateTimeDomain (Даты со временем)
Унаследован от класса TDomain (Домены) .

9.4.70.1. Конструктор TDateTimeDomain.Create (Конструктор домена даты со временем)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TDateTimeDomain (Даты со временем) .

9.4.71. Класс TDomain (Домены)
Унаследован от класса TObject (Объекты) .

9.4.71.1. Встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей)
GetDependencyCount: Integer (Целое) .

Текст выражения:

count(TField with Domain = Self) +
count(TProperty with Domain = Self) +
count(TRoutine with Domain = Self) +
count(TParameter with Domain = Self) +
count(TOption with Domain = Self)

Используется для вычисления значений свойства TDomain.DependencyCount (Количество зависимостей)
.

9.4.71.2. Конструктор TDomain.Create (Конструктор домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TDomain (Домены) .

9.4.71.3. Поле TDomain.FRequired (Обязательно для заполнения)
FRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDomain.Required (Обязательно для заполнения)
TField.DomainRequired (Обязательно для заполнения)
TInlineExpression.DomainRequired (Обязательно для заполнения)
TProperty.DomainRequired (Обязательно для заполнения)
TParameter.DomainRequired (Обязательно для заполнения)
TOption.DomainRequired (Обязательно для заполнения)
.

9.4.71.4. Свойство TDomain.DependencyCount (Количество зависимостей)
DependencyCount: Integer (Целое) . Вычисление свойства отложено.

Для чтения значения свойства используется встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей) .

9.4.71.5. Свойство TDomain.Required (Обязательно для заполнения)
Required: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

9.4.72. Класс TEnumerationDomain (Перечисления)
Унаследован от класса TDomain (Домены) . Объекты могут включать в себя объекты классов:
  • TEnumerationItem (Элементы перечислений)

9.4.72.1. Конструктор TEnumerationDomain.Create (Конструктор перечисления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
ShowNames (Показывать имена элементов) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TEnumerationDomain (Перечисления) .

9.4.72.2. Поле TEnumerationDomain.FShowNames (Показывать имена)
FShowNames: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TEnumerationDomain.ShowNames (Показывать имена)
.

9.4.72.3. Свойство TEnumerationDomain.ShowNames (Показывать имена)
ShowNames: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TEnumerationDomain.FShowNames (Показывать имена) .

9.4.73. Класс TEnumerationItem (Элементы перечислений)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TEnumerationDomain (Перечисления) .

9.4.73.1. Конструктор TEnumerationItem.Create (Конструктор элемента перечисления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)

Конструирует объект класса TEnumerationItem (Элементы перечислений) .

9.4.73.2. Поле TEnumerationItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TEnumerationItem.Position (Позиция)
.

9.4.73.3. Свойство TEnumerationItem.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TEnumerationItem.FPosition (Позиция) .

9.4.73.4. Функция TEnumerationItem.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TEnumerationItem.Create (Конструктор элемента перечисления)
.

9.4.74. Класс TExcelTemplate (Шаблоны отчетов Excel)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

9.4.74.1. Конструктор TExcelTemplate.Create (Конструктор шаблона Excel)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TExcelTemplateData (Данные Excel-шаблона) |  | Доступен |
PlaceDataOnSheet (Лист для переноса данных) | TExcelSheetKind (Тип листа Excel) |  | Доступен |
MacroName (Имя макроса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TExcelTemplate (Шаблоны отчетов Excel) .

9.4.74.2. Поле TExcelTemplate.FMacroName (Имя макроса)
FMacroName: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TExcelTemplate.MacroName (Имя макроса)
.

9.4.74.3. Поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных)
FPlaceDataOnSheet: TExcelSheetKind (Тип листа Excel) (обязательно для заполнения) .

Используется для хранения значений свойства TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)
.

9.4.74.4. Поле TExcelTemplate.FTemplateData (Данные шаблона)
FTemplateData: TExcelTemplateData (Данные Excel-шаблона) .

Используется для хранения значений свойства TExcelTemplate.TemplateData (Данные шаблона)
.

9.4.74.5. Свойство TExcelTemplate.MacroName (Имя макроса)
MacroName: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TExcelTemplate.FMacroName (Имя макроса) .

9.4.74.6. Свойство TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)
PlaceDataOnSheet: TExcelSheetKind (Тип листа Excel) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных) .

9.4.74.7. Свойство TExcelTemplate.TemplateData (Данные шаблона)
TemplateData: TExcelTemplateData (Данные Excel-шаблона) .

Для чтения и записи свойства используется поле TExcelTemplate.FTemplateData (Данные шаблона) .

9.4.75. Класс TField (Поля)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) .

9.4.75.1. Конструктор TField.Create (Конструктор поля)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
CreateProperty (Создать свойство) | Boolean (Обычное логическое) |  | Доступен |
CreateConstructorParameter (Создать параметр конструктора) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TField (Поля) .

9.4.75.2. Поле TField.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TField.Domain (Домен)
.

9.4.75.3. Свойство TField.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TField.FDomain (Домен) .

9.4.75.4. Свойство TField.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

9.4.75.5. Свойство TField.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

9.4.76. Класс TFileNameDomain (Имена файлов)
Унаследован от класса TStringDomain (Строковые) .

9.4.76.1. Конструктор TFileNameDomain.Create (Конструктор имени файла)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) | Унаследован | Доступен |
FileMustExist (Файл должен существовать) | Boolean (Обычное логическое) |  | Доступен |
DefaultExtension (Расширение по умолчанию) | TFileExtension (Расширение имени файла) |  | Доступен |
OverwritePrompt (Запрос перезаписи) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TFileNameDomain (Имена файлов) .

9.4.76.2. Поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию)
FDefaultExtension: TFileExtension (Расширение имени файла) .

Используется для хранения значений свойства TFileNameDomain.DefaultExtension (Расширение по умолчанию)
.

9.4.76.3. Поле TFileNameDomain.FFileMustExist (Файл должен существовать)
FFileMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFileNameDomain.FileMustExist (Файл должен существовать)
.

9.4.76.4. Поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи)
FOverwritePrompt: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFileNameDomain.OverwritePrompt (Запрос перезаписи)
.

9.4.76.5. Процедура TFileNameDomain.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

9.4.76.6. Свойство TFileNameDomain.DefaultExtension (Расширение по умолчанию)
DefaultExtension: TFileExtension (Расширение имени файла) .

Для чтения и записи свойства используется поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию) .

9.4.76.7. Свойство TFileNameDomain.FileMustExist (Файл должен существовать)
FileMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFileNameDomain.FFileMustExist (Файл должен существовать) .

9.4.76.8. Свойство TFileNameDomain.OverwritePrompt (Запрос перезаписи)
OverwritePrompt: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи) .

9.4.77. Класс TFloatDomain (Вещественные числа)
Унаследован от класса TDomain (Домены) .

9.4.77.1. Конструктор TFloatDomain.Create (Конструктор вещественного домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Длина) | TPrescision (Точность) |  | Доступен |
DecimalPlaces (Количество десятичных знаков) | TPrescision (Точность) |  | Доступен |
MinValue (Минимальное значение) | Float (Вещественное) |  | Доступен |
MaxValue (Максимальное значение) | Float (Вещественное) |  | Доступен |

Конструирует объект класса TFloatDomain (Вещественные числа) .

9.4.77.2. Поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой)
FDecimalPlaces: TPrescision (Точность) .

Используется для хранения значений свойства TFloatDomain.DecimalPlaces (Количество десятичных знаков)
.

9.4.77.3. Поле TFloatDomain.FLength (Максимальная длина)
FLength: TPrescision (Точность) .

Используется для хранения значений свойства TFloatDomain.Length (Длина)
.

9.4.77.4. Поле TFloatDomain.FMaxValue (Максимальное значение)
FMaxValue: Float (Вещественное) .

Используется для хранения значений свойства TFloatDomain.MaxValue (Максимальное значение)
.

9.4.77.5. Поле TFloatDomain.FMinValue (Минимальное значение)
FMinValue: Float (Вещественное) .

Используется для хранения значений свойства TFloatDomain.MinValue (Минимальное значение)
.

9.4.77.6. Свойство TFloatDomain.DecimalPlaces (Количество десятичных знаков)
DecimalPlaces: TPrescision (Точность) .

Для чтения и записи свойства используется поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой) .

9.4.77.7. Свойство TFloatDomain.Length (Длина)
Length: TPrescision (Точность) .

Для чтения и записи свойства используется поле TFloatDomain.FLength (Максимальная длина) .

9.4.77.8. Свойство TFloatDomain.MaxValue (Максимальное значение)
MaxValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TFloatDomain.FMaxValue (Максимальное значение) .

9.4.77.9. Свойство TFloatDomain.MinValue (Минимальное значение)
MinValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TFloatDomain.FMinValue (Минимальное значение) .

9.4.78. Класс TFolderNameDomain (Имена папок файловой системы)
Унаследован от класса TStringDomain (Строковые) .

9.4.78.1. Конструктор TFolderNameDomain.Create (Конструктор имени папки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) | Унаследован | Доступен |
FolderMustExist (Папка должна существовать) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TFolderNameDomain (Имена папок файловой системы) .

9.4.78.2. Поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать)
FFolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFolderNameDomain.FolderMustExist (Папка должна существовать)
.

9.4.78.3. Процедура TFolderNameDomain.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

9.4.78.4. Свойство TFolderNameDomain.FolderMustExist (Папка должна существовать)
FolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать) .

9.4.79. Класс TForm (Формы)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TFormAccess (Доступ к формам)
  • TFormView (Представления формы)

9.4.79.1. Конструктор TForm.Create (Конструктор формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
AutoOpen (Открывать автоматически) | Boolean (Обычное логическое) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Image (Изображение-иконка) | TImage (Изображение) |  | Доступен |
IsAlive ("Живая") | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TForm (Формы) .

9.4.79.2. Поле TForm.FAutoOpen (Открывать автоматически)
FAutoOpen: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.AutoOpen (Открывать автоматически)
.

9.4.79.3. Поле TForm.FImage (Изображеие-иконка)
FImage: TImage (Изображение) .

Используется для хранения значений свойств:
TForm.Image (Изображение-иконка)
TVisualGroupForm.Image (Изображение)
.

9.4.79.4. Поле TForm.FIsAlive (Живая)
FIsAlive: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.IsAlive ("Живая")
.

9.4.79.5. Поле TForm.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.Position (Позиция)
.

9.4.79.6. Поле TForm.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.Scope (Область видимости)
.

9.4.79.7. Свойство TForm.AutoOpen (Открывать автоматически)
AutoOpen: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FAutoOpen (Открывать автоматически) .

9.4.79.8. Свойство TForm.Image (Изображение-иконка)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TForm.FImage (Изображеие-иконка) .

9.4.79.9. Свойство TForm.IsAccessible (Доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TForm.GetIsAccessible (Доступна) .

9.4.79.10. Свойство TForm.IsAlive ("Живая")
IsAlive: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FIsAlive (Живая) .

9.4.79.11. Свойство TForm.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FPosition (Позиция) .

9.4.79.12. Свойство TForm.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FScope (Область видимости) .

9.4.79.13. Функция TForm.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойств:
TForm.IsAccessible (Доступна)
TInstantMessage.IsAccessible (Форма доступна)
.

9.4.79.14. Функция TForm.GetNextPos (Следующая позиция)
Является методом класса.

Возвращает значение типа Integer (Целое) .

Используется для инициализации значения параметра Position (Позиция) подпрограммы TForm.Create (Конструктор формы)
.

9.4.80. Класс TFormAccess (Доступ к формам)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TForm (Формы) .

9.4.80.1. Конструктор TFormAccess.Create (Конструктор доступа к форме)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Форма) | TForm required domain (Форма (обязательно)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TFormAccess (Доступ к формам) .

9.4.81. Класс TFormView (Представления формы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TForm (Формы) .

9.4.81.1. Конструктор TFormView.Create (Конструктор представления формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
View (Представление) | TView of FormView domain (Представление для формы) |  | Доступен |
ChildrenMinimized (Дочерние представления минимизированы) | Boolean (Обычное логическое) |  | Доступен |
ChildrenOnTabs (Дочерние представления на закладках) | Boolean (Обычное логическое) |  | Доступен |
MasterProperty (Свойство-главное) | TMasterProperty domain (Свойство-главное) |  | Доступен |
DetailProperty (Свойство-подчиненное) | TDetailProperty domain (Свойство-подчиненное) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
SpacePercentage (Площадь, %) | Percent (Процент) |  | Доступен |

Конструирует объект класса TFormView (Представления формы) .

9.4.81.2. Поле TFormView.FChildrenMinimized (Дочерние представления минимизированы)
FChildrenMinimized: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.ChildrenMinimized (Дочерние представления минимизированы)
.

9.4.81.3. Поле TFormView.FChildrenOnTabs (Дочерние представления на закладках)
FChildrenOnTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.ChildrenOnTabs (Дочерние представления на закладках)
.

9.4.81.4. Поле TFormView.FDetailProperty (Свойство-подчиненное)
FDetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Используется для хранения значений свойства TFormView.DetailProperty (Свойство-подчиненное)
.

9.4.81.5. Поле TFormView.FMasterProperty (Свойство-главное)
FMasterProperty: TMasterProperty domain (Свойство-главное) .

Используется для хранения значений свойства TFormView.MasterProperty (Свойство-главное)
.

9.4.81.6. Поле TFormView.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.Position (Позиция)
.

9.4.81.7. Поле TFormView.FSingleQuery (Единственный запрос)

9.4.81.8. Поле TFormView.FSpacePercentage (Площадь)
FSpacePercentage: Percent (Процент) .

Используется для хранения значений свойства TFormView.SpacePercentage (Площадь, %)
.

9.4.81.9. Поле TFormView.FView (Представление)
FView: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.View (Представление)
.

9.4.81.10. Свойство TFormView.ChildrenMinimized (Дочерние представления минимизированы)
ChildrenMinimized: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FChildrenMinimized (Дочерние представления минимизированы) .

9.4.81.11. Свойство TFormView.ChildrenOnTabs (Дочерние представления на закладках)
ChildrenOnTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FChildrenOnTabs (Дочерние представления на закладках) .

9.4.81.12. Свойство TFormView.Collapsed (Узлы свернуты)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FCollapsed (Свернуто) .

Дочернее свойство свойства View (Представление) .

9.4.81.13. Свойство TFormView.ColorProperty (Свойство-цвет)
ColorProperty: TColorProperty domain (Домен свойства цвета) .

Для чтения и записи свойства используется поле TView.FColorProperty (Свойство цвета) .

Дочернее свойство свойства View (Представление) .

9.4.81.14. Свойство TFormView.DetailProperty (Свойство-подчиненное)
DetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Для чтения и записи свойства используется поле TFormView.FDetailProperty (Свойство-подчиненное) .

9.4.81.15. Свойство TFormView.MasterProperty (Свойство-главное)
MasterProperty: TMasterProperty domain (Свойство-главное) .

Для чтения и записи свойства используется поле TFormView.FMasterProperty (Свойство-главное) .

9.4.81.16. Свойство TFormView.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FPosition (Позиция) .

9.4.81.17. Свойство TFormView.ShownClass (Показываемый класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FShownClass (Класс для показа) .

Дочернее свойство свойства View (Представление) .

9.4.81.18. Свойство TFormView.SingleQuery (Единственный запрос)

9.4.81.19. Свойство TFormView.SpacePercentage (Площадь, %)
SpacePercentage: Percent (Процент) .

Для чтения и записи свойства используется поле TFormView.FSpacePercentage (Площадь) .

9.4.81.20. Свойство TFormView.View (Представление)
View: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FView (Представление) .

9.4.81.21. Функция TFormView.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)

Используется для инициализации значения параметра Position (Позиция) подпрограммы TFormView.Create (Конструктор представления формы)
.

9.4.82. Класс TInlineExpression (Встраиваемое выражение)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) .

9.4.82.1. Конструктор TInlineExpression.Create (Конструктор встраиваемого выражения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Expression (Выражение) | TInlineExpressionText (Текст выражения) |  | Доступен |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |

Конструирует объект класса TInlineExpression (Встраиваемое выражение) .

9.4.82.2. Поле TInlineExpression.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TInlineExpression.Domain (Домен)
.

9.4.82.3. Поле TInlineExpression.FExpression (Выражение)
FExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TInlineExpression.Expression (Выражение)
.

9.4.82.4. Свойство TInlineExpression.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInlineExpression.FDomain (Домен) .

9.4.82.5. Свойство TInlineExpression.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

9.4.82.6. Свойство TInlineExpression.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

9.4.82.7. Свойство TInlineExpression.Expression (Выражение)
Expression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TInlineExpression.FExpression (Выражение) .

9.4.83. Класс TInstantMessage (Сообщения)
Унаследован от класса TObject (Объекты) .

9.4.83.1. Конструктор TInstantMessage.Create (Конструктор сообщения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
User (Пользователь) | TUser required domain (Пользователь) |  | Доступен |
FormView (Представление формы) | TFormView domain (Представления форм) |  | Доступен |
Object (Объект) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TInstantMessage (Сообщения) .

9.4.83.2. Поле TInstantMessage.FFormView (Представление формы)
FFormView: TFormView domain (Представления форм) .

Используется для хранения значений свойства TInstantMessage.FormView (Представление формы)
.

9.4.83.3. Поле TInstantMessage.FObject (Объект)
FObject: TObject domain (Объект) .

Используется для хранения значений свойства TInstantMessage.Object (Объект)
.

9.4.83.4. Поле TInstantMessage.FUser (Пользователь)
FUser: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TInstantMessage.User (Пользователь)
.

9.4.83.5. Поле TInstantMessage.FViewed (Просмотрено)
FViewed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TInstantMessage.Viewed (Просмотрено)
.

9.4.83.6. Свойство TInstantMessage.Form (Форма)
Form: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

Дочернее свойство свойства FormView (Представление формы) .

9.4.83.7. Свойство TInstantMessage.FormView (Представление формы)
FormView: TFormView domain (Представления форм) .

Для чтения и записи свойства используется поле TInstantMessage.FFormView (Представление формы) .

9.4.83.8. Свойство TInstantMessage.IsAccessible (Форма доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TForm.GetIsAccessible (Доступна) .

Дочернее свойство свойства Form (Форма) .

9.4.83.9. Свойство TInstantMessage.IsCurrent (Текущему пользователю)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

Дочернее свойство свойства User (Пользователь) .

9.4.83.10. Свойство TInstantMessage.Object (Объект)
Object: TObject domain (Объект) .

Для чтения и записи свойства используется поле TInstantMessage.FObject (Объект) .

9.4.83.11. Свойство TInstantMessage.User (Пользователь)
User: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInstantMessage.FUser (Пользователь) .

9.4.83.12. Свойство TInstantMessage.Viewed (Просмотрено)
Viewed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInstantMessage.FViewed (Просмотрено) .

9.4.84. Класс TIntegerDomain (Целые числа)
Унаследован от класса TDomain (Домены) .

9.4.84.1. Конструктор TIntegerDomain.Create (Конструктор целочисленного домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
MinValue (Минимальное значение) | Integer (Целое) |  | Доступен |
MaxValue (Максимальное значение) | Integer (Целое) |  | Доступен |

Конструирует объект класса TIntegerDomain (Целые числа) .

9.4.84.2. Поле TIntegerDomain.FMaxValue (Максимальное значение)
FMaxValue: Integer (Целое) .

Используется для хранения значений свойства TIntegerDomain.MaxValue (Максимальное значение)
.

9.4.84.3. Поле TIntegerDomain.FMinValue (Минимальное значение)
FMinValue: Integer (Целое) .

Используется для хранения значений свойства TIntegerDomain.MinValue (Минимальное значение)
.

9.4.84.4. Свойство TIntegerDomain.MaxValue (Максимальное значение)
MaxValue: Integer (Целое) .

Для чтения и записи свойства используется поле TIntegerDomain.FMaxValue (Максимальное значение) .

9.4.84.5. Свойство TIntegerDomain.MinValue (Минимальное значение)
MinValue: Integer (Целое) .

Для чтения и записи свойства используется поле TIntegerDomain.FMinValue (Минимальное значение) .

9.4.85. Класс TMethod (Методы)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

9.4.85.1. Конструктор TMethod.Create (Конструктор метода)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
Body (Тело) | TMethodBody (Исходные тексты методов) |  | Доступен |

Конструирует объект класса TMethod (Методы) .

9.4.85.2. Поле TMethod.FBody (Тело)
FBody: TMethodBody (Исходные тексты методов) .

Используется для хранения значений свойства TMethod.Body (Тело)
.

9.4.85.3. Свойство TMethod.Body (Тело)
Body: TMethodBody (Исходные тексты методов) .

Для чтения и записи свойства используется поле TMethod.FBody (Тело) .

9.4.85.4. Свойство TMethod.CallTemplate (Шаблон вызова)
CallTemplate: TLongString (Длинная строка) . Вычисление свойства отложено.

Для чтения значения свойства используется функция TMethod.CallTemplate (Шаблон вызова) .

9.4.85.5. Функция TMethod.CallTemplate (Шаблон вызова)

Возвращает значение типа TLongString (Длинная строка) .

Используется для вычисления значений свойства TMethod.CallTemplate (Шаблон вызова)
.

9.4.86. Класс TObject (Объекты)

9.4.86.1. Конструктор TObject.Create (Конструктор объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) |  | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) |  | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) |  | Скрыт |

Конструирует объект класса TObject (Объекты) .

9.4.86.2. Поле TObject.FClass (Класс)
FClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Class (Класс)
TOption.DomainClass (Класс домена)
TField.DomainClass (Класс домена)
TInlineExpression.DomainClass (Класс домена)
TProperty.DomainClass (Класс домена)
TParameter.DomainClass (Класс домена)
.

9.4.86.3. Поле TObject.FCreated (Создано)
FCreated: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Created (Создано)
.

9.4.86.4. Поле TObject.FCreator (Создано пользователем)
FCreator: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Creator (Создано пользователем)
.

9.4.86.5. Поле TObject.FDescription (Наименование)
FDescription: TObjectDescription (Наименования) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Description (Наименование)
TFormAccess.Description (Наименование)
TVisualGroupAccess.Description (Наименование)
TBanGroupAccess.Description (Наименование)
.

9.4.86.6. Поле TObject.FMaster (Мастер)
FMaster: TMaster field domain (Домен поля "Мастер") .

Используется для хранения значений свойств:
TObject.Master (Мастер)
TParameter.RoutineClass (Класс подпрограммы)
TOptionValue.Option (Настройка)
TInstantMessage.Form (Форма)
.

9.4.86.7. Поле TObject.FModified (Изменено)
FModified: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Modified (Изменено)
.

9.4.86.8. Поле TObject.FModifier (Изменено пользователем)
FModifier: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Modifier (Изменено пользователем)
.

9.4.86.9. Поле TObject.FName (Имя)
FName: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Name (Имя)
TFormAccess.Name (Имя)
TVisualGroupAccess.Name (Имя)
TBanGroupAccess.Name (Имя)
.

9.4.86.10. Поле TObject.FOldID (Идентификатор при создании)
FOldID: TOldID (Идентификаторы при создании) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.OldID (Идентификатор при создании)
.

9.4.86.11. Поле TObject.FParent (Родитель)
FParent: TParent domain (Родитель объекта) .

Используется для хранения значений свойства TObject.Parent (Родитель)
.

9.4.86.12. Поле TObject.FReader (Роль для чтения)
FReader: TAccessor domain (Роли доступа) .

Используется для хранения значений свойства TObject.Reader (Роль для чтения)
.

9.4.86.13. Поле TObject.FSourceDataBase (База данных)
FSourceDataBase: TSourceDataBase required domain (База данных) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.SourceDataBase (База данных-источник)
.

9.4.86.14. Поле TObject.FWriter (Роль для записи)
FWriter: TAccessor domain (Роли доступа) .

Используется для хранения значений свойства TObject.Writer (Роль для записи)
.

9.4.86.15. Процедура TObject.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) |  | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) |  | Скрыт |

9.4.86.16. Процедура TObject.Destroy (Деструктор объекта)

9.4.86.17. Процедура TObject.MergeTo (Отождествить с)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
PrimaryObject (Первичный объект) | TMergedObject domain (Объект для отождествления) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
PrimaryObject (Первичный объект) | TMergedObject domain (Объект для отождествления) |  | Доступен |

9.4.86.18. Процедура TObject.SendMessage (Отправить сообщение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
MessageText (Текст сообщения) | TObjectDescription (Наименования) |  | Доступен |
Broadcast (Всем пользователям) | Boolean (Обычное логическое) |  | Доступен |
Addressee (Адресат) | TSecurityAccount domain (Роль безопасности) |  | Доступен |
AttachSelected (Присоединить выбранные объекты) | Boolean (Обычное логическое) |  | Доступен |
Selected (Список выбранных объектов) | TList domain (Список объектов) |  | Скрыт | CurrentlySelected (Список выбранных)
CurrentFormView (Текущее представление формы) | TFormView domain (Представления форм) |  | Скрыт | CurrentFormView (Текущее представление формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
MessageText (Текст сообщения) | TObjectDescription (Наименования) |  | Доступен |
Broadcast (Всем пользователям) | Boolean (Обычное логическое) |  | Доступен |
Addressee (Адресат) | TSecurityAccount domain (Роль безопасности) |  | Доступен |
AttachSelected (Присоединить выбранные объекты) | Boolean (Обычное логическое) |  | Доступен |
Selected (Список выбранных объектов) | TList domain (Список объектов) |  | Скрыт | CurrentlySelected (Список выбранных)
CurrentFormView (Текущее представление формы) | TFormView domain (Представления форм) |  | Скрыт | CurrentFormView (Текущее представление формы)

9.4.86.19. Процедура TObject.Touch (Модификация объекта)

9.4.86.20. Псевдоподпрограмма TObject.Column (Колонка)

9.4.86.21. Псевдоподпрограмма TObject.Copy (Копировать)

9.4.86.22. Псевдоподпрограмма TObject.CurrentFormView (Текущее представление формы)
Является методом класса.

Возвращает значение типа TFormView domain (Представления форм) .

Используется для инициализации значения параметра CurrentFormView (Текущее представление формы) подпрограммы TObject.SendMessage (Отправить сообщение)
.

9.4.86.23. Псевдоподпрограмма TObject.CurrentlySelected (Список выбранных)
Является методом класса.

Возвращает значение типа TList domain (Список объектов) .

Используется для инициализации значения параметра Selected (Список выбранных объектов) подпрограммы TObject.SendMessage (Отправить сообщение)
.

9.4.86.24. Псевдоподпрограмма TObject.CurrentlyVisible (Список видимых)
Является методом класса.

Возвращает значение типа TList domain (Список объектов) .

9.4.86.25. Псевдоподпрограмма TObject.Edit columns (Редактировать колонки)

9.4.86.26. Псевдоподпрограмма TObject.Edit properties (Редактировать свойства)

9.4.86.27. Псевдоподпрограмма TObject.Export (Экспортировать)

9.4.86.28. Псевдоподпрограмма TObject.Merge (Объединить)

9.4.86.29. Псевдоподпрограмма TObject.Messages (Сообщения)
Является методом класса.

9.4.86.30. Псевдоподпрограмма TObject.Options (Настройки)
Является методом класса.

9.4.86.31. Псевдоподпрограмма TObject.Paste (Вставить)

9.4.86.32. Псевдоподпрограмма TObject.Refresh (Обновить)

9.4.86.33. Псевдоподпрограмма TObject.Selection (Выбранные)

9.4.86.34. Псевдоподпрограмма TObject.Tree (Дерево)

9.4.86.35. Свойство TObject.Class (Класс)
Class: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

9.4.86.36. Свойство TObject.Created (Создано)
Created: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FCreated (Создано) .

9.4.86.37. Свойство TObject.Creator (Создано пользователем)
Creator: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FCreator (Создано пользователем) .

9.4.86.38. Свойство TObject.Description (Наименование)
Description: TObjectDescription (Наименования) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TObject.FDescription (Наименование) .

9.4.86.39. Свойство TObject.Master (Мастер)
Master: TMaster domain (Объект (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

9.4.86.40. Свойство TObject.Modified (Изменено)
Modified: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FModified (Изменено) .

9.4.86.41. Свойство TObject.Modifier (Изменено пользователем)
Modifier: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FModifier (Изменено пользователем) .

9.4.86.42. Свойство TObject.Name (Имя)
Name: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TObject.FName (Имя) .

9.4.86.43. Свойство TObject.OldID (Идентификатор при создании)
OldID: TOldID (Идентификаторы при создании) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FOldID (Идентификатор при создании) .

9.4.86.44. Свойство TObject.Parent (Родитель)
Parent: TParent domain (Родитель объекта) .

Для чтения и записи свойства используется поле TObject.FParent (Родитель) .

9.4.86.45. Свойство TObject.Reader (Роль для чтения)
Reader: TAccessor domain (Роли доступа) .

Для чтения и записи свойства используется поле TObject.FReader (Роль для чтения) .

9.4.86.46. Свойство TObject.ReplicationStatus (Статус репликации)
ReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

Дочернее свойство свойства Class (Класс) .

9.4.86.47. Свойство TObject.SourceDataBase (База данных-источник)
SourceDataBase: TSourceDataBase required domain (База данных) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FSourceDataBase (База данных) .

9.4.86.48. Свойство TObject.SourceDataBaseGUID (GUID базы даных-источника)
SourceDataBaseGUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FGUID (Идентификатор) .

Дочернее свойство свойства SourceDataBase (База данных-источник) .

9.4.86.49. Свойство TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
SourceDataBaseIsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FIsCurrent (Является текущей) .

Дочернее свойство свойства SourceDataBase (База данных-источник) .

9.4.86.50. Свойство TObject.Writer (Роль для записи)
Writer: TAccessor domain (Роли доступа) .

Для чтения и записи свойства используется поле TObject.FWriter (Роль для записи) .

9.4.86.51. Функция TObject.ASCII (ASCII-код)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Char (Символ) |  | Скрыт |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Char (Символ) |  | Скрыт |

9.4.86.52. Функция TObject.Assigned (Проверка пустоты значения)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TObject domain (Объект) |  | Доступен |

9.4.86.53. Функция TObject.Char (Символ)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

Возвращает значение типа Char (Символ) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

9.4.86.54. Функция TObject.Copy (Копировать)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |
StartPos (Позиция) | Integer (Целое) |  | Доступен |
Length (Длина) | Integer (Целое) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |
StartPos (Позиция) | Integer (Целое) |  | Доступен |
Length (Длина) | Integer (Целое) |  | Доступен |

9.4.86.55. Функция TObject.DatePart (Часть даты)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

9.4.86.56. Функция TObject.DateTimePart (Часть даты со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp (Момент) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp (Момент) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

9.4.86.57. Функция TObject.DateTimeToStr (Дату и время в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp required (Момент (обязательный)) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp required (Момент (обязательный)) |  | Доступен |

9.4.86.58. Функция TObject.DateToStr (Дату в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |

9.4.86.59. Функция TObject.DependsOn (Зависит от)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
LeadingObject (Ведущий объект) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
LeadingObject (Ведущий объект) | TObject domain (Объект) |  | Доступен |

9.4.86.60. Функция TObject.Find (Поиск объекта)

9.4.86.61. Функция TObject.FloatToStr (Вещественное в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |

9.4.86.62. Функция TObject.GetLevel (Уровень в иерархии)

Возвращает значение типа TLength (Длина) .

9.4.86.63. Функция TObject.GetRoot (Получить корень иерархии)

Возвращает значение типа TObject domain (Объект) .

9.4.86.64. Функция TObject.HasAsChild (Объект является ребенком данного)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Child (Дочерний объект) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Child (Дочерний объект) | TObject domain (Объект) |  | Доступен |

9.4.86.65. Функция TObject.HasAsParent (Объект является родителем данного)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

9.4.86.66. Функция TObject.IfThenDate (Выбор из двух дат)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TDate (Дата) |  | Доступен |
AFalse (Значение при невыполнении условия) | TDate (Дата) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TDate (Дата) |  | Доступен |
AFalse (Значение при невыполнении условия) | TDate (Дата) |  | Доступен |

9.4.86.67. Функция TObject.IfThenDateTime (Выбор из двух дат со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TimeStamp (Момент) |  | Доступен |
AFalse (Значение при невыполнении условия) | TimeStamp (Момент) |  | Доступен |

Возвращает значение типа TimeStamp (Момент) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TimeStamp (Момент) |  | Доступен |
AFalse (Значение при невыполнении условия) | TimeStamp (Момент) |  | Доступен |

9.4.86.68. Функция TObject.IfThenFloat (Выбор из двух вещественных)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Float (Вещественное) |  | Доступен |
AFalse (Значение при невыполнении условия) | Float (Вещественное) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Float (Вещественное) |  | Доступен |
AFalse (Значение при невыполнении условия) | Float (Вещественное) |  | Доступен |

9.4.86.69. Функция TObject.IfThenInt (Выбор из двух целых)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Integer (Целое) |  | Доступен |
AFalse (Значение при невыполнении условия) | Integer (Целое) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Integer (Целое) |  | Доступен |
AFalse (Значение при невыполнении условия) | Integer (Целое) |  | Доступен |

9.4.86.70. Функция TObject.IfThenObject (Выбор из двух объектов)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TObject domain (Объект) |  | Доступен |
AFalse (Значение при невыполнении условия) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TObject domain (Объект) |  | Доступен |
AFalse (Значение при невыполнении условия) | TObject domain (Объект) |  | Доступен |

9.4.86.71. Функция TObject.IfThenStr (Выбор из двух строк)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TLongString (Длинная строка) |  | Доступен |
AFalse (Значение при невыполнении условия) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TLongString (Длинная строка) |  | Доступен |
AFalse (Значение при невыполнении условия) | TLongString (Длинная строка) |  | Доступен |

9.4.86.72. Функция TObject.IfThenTime (Выбор из двух времен)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TTime (Время) |  | Доступен |
AFalse (Значение при невыполнении условия) | TTime (Время) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TTime (Время) |  | Доступен |
AFalse (Значение при невыполнении условия) | TTime (Время) |  | Доступен |

9.4.86.73. Функция TObject.IntToStr (Целое в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

9.4.86.74. Функция TObject.IsInstanceOf (Является экземпляром класса)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Class (Класс) | TClass domain (Класс) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Class (Класс) | TClass domain (Класс) |  | Доступен |

9.4.86.75. Функция TObject.Round (Округление)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |
Decimals (Клоичество десятичных знаков) | Integer (Целое) |  | Скрыт |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |
Decimals (Клоичество десятичных знаков) | Integer (Целое) |  | Скрыт |

9.4.86.76. Функция TObject.StrLength (Длина строки)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |

9.4.86.77. Функция TObject.StrToDate (Строку в дату)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

9.4.86.78. Функция TObject.StrToDateTime (Строку в дату и время)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TimeStamp required (Момент (обязательный)) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

9.4.86.79. Функция TObject.StrToFloat (Строку в вещественное)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

9.4.86.80. Функция TObject.StrToInt (Строку в целое)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

9.4.86.81. Функция TObject.StrToTime (Строку во время)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

9.4.86.82. Функция TObject.TimePart (Часть времени)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

9.4.86.83. Функция TObject.TimeToStr (Время в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Скрыт |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Скрыт |

9.4.86.84. Функция TObject.Trunc (Отсечение дробной части)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Доступен |

9.4.86.85. Функция TObject.UniqueValue (Уникальный идентификатор)
Является методом класса.

Возвращает значение типа TObjectName (Имена) .

9.4.86.86. Шаблон отчета Excel TObject.Excel (Пустой шаблон Excel)
Является методом класса.

9.4.86.87. Шаблон отчета XSLT TObject.ObjectInformation (Информация об объекте)

9.4.87. Класс TObjectList (Списки)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TObjectListItem (Элементы списков)

9.4.87.1. Конструктор TObjectList.Create (Конструктор списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TObjectList (Списки) .

9.4.87.2. Процедура TObjectList.Add (Добавить объект в список)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

9.4.87.3. Процедура TObjectList.Clear (Очистить список)

9.4.87.4. Процедура TObjectList.Delete (Удалить объект)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

9.4.87.5. Процедура TObjectList.Force (Добавить, игнорируя ограничения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

9.4.87.6. Процедура TObjectList.SetItem (Установить объект в списке)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

9.4.87.7. Функция TObjectList.ByName (Поиск по имени)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен |

9.4.87.8. Функция TObjectList.GetItem (Получить объект из списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |

9.4.87.9. Функция TObjectList.IndexOf (Индек объекта в списке)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

9.4.87.10. Функция TObjectList.Length (Длина списка)

Возвращает значение типа Integer (Целое) .

9.4.88. Класс TObjectListItem (Элементы списков)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TObjectList (Списки) .

9.4.88.1. Конструктор TObjectListItem.Create (Конструктор элемента списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TObjectListItem (Элементы списков) .

9.4.88.2. Поле TObjectListItem.FObject (Объект)
FObject: TObject domain (Объект) .

9.4.88.3. Поле TObjectListItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

9.4.89. Класс TOleObjectMethod (Метод Ole-объекта)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

9.4.89.1. Конструктор TOleObjectMethod.Create (Конструктор метода Ole-объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
CodeLibrary (Библиотека кода) | TCodeLibrary domain (Библиотека кода) |  | Доступен |
ClassID (Идентификатор класса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |
Method (Метод) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TOleObjectMethod (Метод Ole-объекта) .

9.4.89.2. Поле TOleObjectMethod.FClassID (Идентификатор класса)
FClassID: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TOleObjectMethod.ClassID (Идентификатор класса)
.

9.4.89.3. Поле TOleObjectMethod.FCodeLibrary (Библиотека кода)
FCodeLibrary: TCodeLibrary domain (Библиотека кода) .

Используется для хранения значений свойства TOleObjectMethod.CodeLibrary (Библиотека кода)
.

9.4.89.4. Поле TOleObjectMethod.FMethod (Имя метода)
FMethod: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TOleObjectMethod.Method (Метод)
.

9.4.89.5. Свойство TOleObjectMethod.ClassID (Идентификатор класса)
ClassID: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TOleObjectMethod.FClassID (Идентификатор класса) .

9.4.89.6. Свойство TOleObjectMethod.CodeLibrary (Библиотека кода)
CodeLibrary: TCodeLibrary domain (Библиотека кода) .

Для чтения и записи свойства используется поле TOleObjectMethod.FCodeLibrary (Библиотека кода) .

9.4.89.7. Свойство TOleObjectMethod.Method (Метод)
Method: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TOleObjectMethod.FMethod (Имя метода) .

9.4.90. Класс TOption (Настройки)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TOptionValue (Значения настроек)

9.4.90.1. Конструктор TOption.Create (Конструктор настройки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
Global (Глобальная) | Boolean (Обычное логическое) |  | Доступен |
Group (Заголовок группы) | TCaption (Заголовки) |  | Доступен |
Tab (Заголовок закладки) | TCaption (Заголовки) |  | Доступен |
Position (Позиция) | Integer (Целое) |  | Доступен | GetNextPos (Следующая позиция)

Конструирует объект класса TOption (Настройки) .

9.4.90.2. Поле TOption.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TOption.Domain (Домен)
TOptionValue.Domain (Домен)
.

9.4.90.3. Поле TOption.FGlobal (Глобальная)
FGlobal: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TOption.Global (Глобальная)
TOptionValue.Global (Глобальная)
.

9.4.90.4. Поле TOption.FGroup (Заголовок группы)
FGroup: TCaption (Заголовки) .

Используется для хранения значений свойства TOption.Group (Заголовок группы)
.

9.4.90.5. Поле TOption.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TOption.Position (Позиция)
.

9.4.90.6. Поле TOption.FTab (Заголовок закладки)
FTab: TCaption (Заголовки) .

Используется для хранения значений свойства TOption.Tab (Заголовок закладки)
.

9.4.90.7. Процедура TOption.SetValue (Установка значения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

9.4.90.8. Свойство TOption.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FDomain (Домен) .

9.4.90.9. Свойство TOption.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

9.4.90.10. Свойство TOption.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

9.4.90.11. Свойство TOption.Global (Глобальная)
Global: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FGlobal (Глобальная) .

9.4.90.12. Свойство TOption.Group (Заголовок группы)
Group: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TOption.FGroup (Заголовок группы) .

9.4.90.13. Свойство TOption.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FPosition (Позиция) .

9.4.90.14. Свойство TOption.Tab (Заголовок закладки)
Tab: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TOption.FTab (Заголовок закладки) .

9.4.90.15. Свойство TOption.User (Пользователь)
User: TUser domain (Пользователь) .

Для чтения и записи свойства используется поле TOptionValue.FUser (Пользователь) .

Дочернее свойство свойства Value (Значение) .

9.4.90.16. Свойство TOption.Value (Значение)
Value: TOptionValue domain (Значение настройки) . Вычисление свойства отложено.

Для чтения значения свойства используется функция TOption.GetValue (Значение) .

9.4.90.17. Свойство TOption.VisibleValue (Видимое значение)
VisibleValue: TLongString (Длинная строка) .

Для чтения значения свойства используется функция TOptionValue.GetVisibleValue (Видимое значение) .

Дочернее свойство свойства Value (Значение) .

9.4.90.18. Функция TOption.AreValid (Настройки действительны)
Является методом класса.

Возвращает значение типа Boolean (Обычное логическое) .

9.4.90.19. Функция TOption.GetBlobValue (Значение-большой объект)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TBinaryData (Двоичные данные) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

9.4.90.20. Функция TOption.GetBoolValue (Логическое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

9.4.90.21. Функция TOption.GetDateTimeValue (Значение даты со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TimeStamp (Момент) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

9.4.90.22. Функция TOption.GetDateValue (Значение даты)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

9.4.90.23. Функция TOption.GetFloatValue (Вещественное значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

9.4.90.24. Функция TOption.GetIntValue (Целое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

9.4.90.25. Функция TOption.GetNextPos (Следующая позиция)
Является методом класса.

Возвращает значение типа Integer (Целое) .

Используется для инициализации значения параметра Position (Позиция) подпрограммы TOption.Create (Конструктор настройки)
.

9.4.90.26. Функция TOption.GetObjectValue (Значение-объект)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

9.4.90.27. Функция TOption.GetStrValue (Строковое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

9.4.90.28. Функция TOption.GetTimeValue (Значение времени)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

9.4.90.29. Функция TOption.GetValue (Значение)

Возвращает значение типа TOptionValue domain (Значение настройки) .

Используется для вычисления значений свойства TOption.Value (Значение)
.

9.4.91. Класс TOptionValue (Значения настроек)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TOption (Настройки) .

9.4.91.1. Конструктор TOptionValue.Create (Конструктор значения настройки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
User (Пользователь) | TUser domain (Пользователь) |  | Доступен |
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TOptionValue (Значения настроек) .

9.4.91.2. Поле TOptionValue.FBlobValue (Значение-большой объект)
FBlobValue: TBinaryData (Двоичные данные) .

Используется для хранения значений свойства TOptionValue.BlobValue (Значение-большой объект)
.

9.4.91.3. Поле TOptionValue.FBoolValue (Логическое значение)
FBoolValue: Non-required boolean (Необязательное логическое) .

Используется для хранения значений свойства TOptionValue.BoolValue (Логическое значение)
.

9.4.91.4. Поле TOptionValue.FDateTimeValue (Значение даты со временем)
FDateTimeValue: TimeStamp (Момент) .

Используется для хранения значений свойства TOptionValue.DateTimeValue (Значение даты со временем)
.

9.4.91.5. Поле TOptionValue.FDateValue (Значение даты)
FDateValue: TDate (Дата) .

Используется для хранения значений свойства TOptionValue.DateValue (Значение даты)
.

9.4.91.6. Поле TOptionValue.FFloatValue (Вещественное значение)
FFloatValue: Float (Вещественное) .

Используется для хранения значений свойства TOptionValue.FloatValue (Вещественное значение)
.

9.4.91.7. Поле TOptionValue.FIntValue (Целое значение)
FIntValue: Integer (Целое) .

Используется для хранения значений свойства TOptionValue.IntValue (Целое значение)
.

9.4.91.8. Поле TOptionValue.FObjectValue (Значение-объект)
FObjectValue: TObject domain (Объект) .

Используется для хранения значений свойства TOptionValue.ObjectValue (Значение-объект)
.

9.4.91.9. Поле TOptionValue.FStrValue (Строковое значение)
FStrValue: TLongString (Длинная строка) .

Используется для хранения значений свойства TOptionValue.StrValue (Строковое значение)
.

9.4.91.10. Поле TOptionValue.FTimeValue (Значение времени)
FTimeValue: TTime (Время) .

Используется для хранения значений свойства TOptionValue.TimeValue (Значение времени)
.

9.4.91.11. Поле TOptionValue.FUser (Пользователь)
FUser: TUser domain (Пользователь) .

Используется для хранения значений свойств:
TOptionValue.User (Пользователь)
TOption.User (Пользователь)
.

9.4.91.12. Свойство TOptionValue.BlobValue (Значение-большой объект)
BlobValue: TBinaryData (Двоичные данные) .

Для чтения и записи свойства используется поле TOptionValue.FBlobValue (Значение-большой объект) .

9.4.91.13. Свойство TOptionValue.BoolValue (Логическое значение)
BoolValue: Non-required boolean (Необязательное логическое) .

Для чтения и записи свойства используется поле TOptionValue.FBoolValue (Логическое значение) .

9.4.91.14. Свойство TOptionValue.DateTimeValue (Значение даты со временем)
DateTimeValue: TimeStamp (Момент) .

Для чтения и записи свойства используется поле TOptionValue.FDateTimeValue (Значение даты со временем) .

9.4.91.15. Свойство TOptionValue.DateValue (Значение даты)
DateValue: TDate (Дата) .

Для чтения и записи свойства используется поле TOptionValue.FDateValue (Значение даты) .

9.4.91.16. Свойство TOptionValue.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FDomain (Домен) .

Дочернее свойство свойства Option (Настройка) .

9.4.91.17. Свойство TOptionValue.FloatValue (Вещественное значение)
FloatValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TOptionValue.FFloatValue (Вещественное значение) .

9.4.91.18. Свойство TOptionValue.Global (Глобальная)
Global: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FGlobal (Глобальная) .

Дочернее свойство свойства Option (Настройка) .

9.4.91.19. Свойство TOptionValue.IntValue (Целое значение)
IntValue: Integer (Целое) .

Для чтения и записи свойства используется поле TOptionValue.FIntValue (Целое значение) .

9.4.91.20. Свойство TOptionValue.IsCurrent (Является текущим)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

Дочернее свойство свойства User (Пользователь) .

9.4.91.21. Свойство TOptionValue.ObjectValue (Значение-объект)
ObjectValue: TObject domain (Объект) .

Для чтения и записи свойства используется поле TOptionValue.FObjectValue (Значение-объект) .

9.4.91.22. Свойство TOptionValue.Option (Настройка)
Option: TOption required domain (Настройка (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

9.4.91.23. Свойство TOptionValue.StrValue (Строковое значение)
StrValue: TLongString (Длинная строка) .

Для чтения и записи свойства используется поле TOptionValue.FStrValue (Строковое значение) .

9.4.91.24. Свойство TOptionValue.TimeValue (Значение времени)
TimeValue: TTime (Время) .

Для чтения и записи свойства используется поле TOptionValue.FTimeValue (Значение времени) .

9.4.91.25. Свойство TOptionValue.User (Пользователь)
User: TUser domain (Пользователь) .

Для чтения и записи свойства используется поле TOptionValue.FUser (Пользователь) .

9.4.91.26. Свойство TOptionValue.VisibleValue (Видимое значение)
VisibleValue: TLongString (Длинная строка) .

Для чтения значения свойства используется функция TOptionValue.GetVisibleValue (Видимое значение) .

9.4.91.27. Функция TOptionValue.GetVisibleValue (Видимое значение)

Возвращает значение типа TLongString (Длинная строка) .

Используется для вычисления значений свойств:
TOptionValue.VisibleValue (Видимое значение)
TOption.VisibleValue (Видимое значение)
.

9.4.92. Класс TParameter (Параметры)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TRoutine (Подпрограмма) .

9.4.92.1. Конструктор TParameter.Create (Конструктор параметра)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Group (Заголовок группы) | TCaption (Заголовки) |  | Доступен |
Tab (Заголовок закладки) | TCaption (Заголовки) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
InitializationMember (Инициализируется членом класса) | TInitializationMember domain (Член класса для инициализации) |  | Доступен |

Конструирует объект класса TParameter (Параметры) .

9.4.92.2. Поле TParameter.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Domain (Домен)
.

9.4.92.3. Поле TParameter.FGroup (Заголовок группы)
FGroup: TCaption (Заголовки) .

Используется для хранения значений свойства TParameter.Group (Заголовок группы)
.

9.4.92.4. Поле TParameter.FInitializationMember (Инициализируется членом)
FInitializationMember: TInitializationMember domain (Член класса для инициализации) .

Используется для хранения значений свойства TParameter.InitializationMember (Инициализируется членом класса)
.

9.4.92.5. Поле TParameter.FOutOfTabs (За пределами закладок)

9.4.92.6. Поле TParameter.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Position (Позиция)
.

9.4.92.7. Поле TParameter.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Scope (Область видимости)
.

9.4.92.8. Поле TParameter.FTab (Заголовок закладки)
FTab: TCaption (Заголовки) .

Используется для хранения значений свойства TParameter.Tab (Заголовок закладки)
.

9.4.92.9. Свойство TParameter.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FDomain (Домен) .

9.4.92.10. Свойство TParameter.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

9.4.92.11. Свойство TParameter.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

9.4.92.12. Свойство TParameter.Group (Заголовок группы)
Group: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TParameter.FGroup (Заголовок группы) .

9.4.92.13. Свойство TParameter.InitializationMember (Инициализируется членом класса)
InitializationMember: TInitializationMember domain (Член класса для инициализации) .

Для чтения и записи свойства используется поле TParameter.FInitializationMember (Инициализируется членом) .

9.4.92.14. Свойство TParameter.OutOfTabs (За пределами закладок)

9.4.92.15. Свойство TParameter.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FPosition (Позиция) .

9.4.92.16. Свойство TParameter.RoutineClass (Класс подпрограммы)
RoutineClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

Дочернее свойство свойства Master (Мастер) .

9.4.92.17. Свойство TParameter.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FScope (Область видимости) .

9.4.92.18. Свойство TParameter.Tab (Заголовок закладки)
Tab: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TParameter.FTab (Заголовок закладки) .

9.4.92.19. Функция TParameter.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TParameter.Create (Конструктор параметра)
.

9.4.93. Класс TProperty (Свойства)
Унаследован от класса TClassMember (Члены класса) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TClass (Классы) .

9.4.93.1. Конструктор TProperty.Create (Конструктор свойства)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
ReadMember (Член класса для чтения) | TReadMember domain (Член класса для чтения) |  | Доступен |
WriteMember (Член класса для записи) | TWriteMember domain (Член класса для записи) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
IsExportable (Для экспорта) | Boolean (Обычное логическое) |  | Доступен |
Category (Категория) | TCaption (Заголовки) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
IsSuspended (Отложенное) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TProperty (Свойства) .

9.4.93.2. Поле TProperty.FCategory (Категория)
FCategory: TCaption (Заголовки) .

Используется для хранения значений свойства TProperty.Category (Категория)
.

9.4.93.3. Поле TProperty.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Domain (Домен)
.

9.4.93.4. Поле TProperty.FIsExportable (Эскпортируется)
FIsExportable: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.IsExportable (Для экспорта)
.

9.4.93.5. Поле TProperty.FIsSuspended (Отложенное)
FIsSuspended: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.IsSuspended (Отложенное)
.

9.4.93.6. Поле TProperty.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Position (Позиция)
.

9.4.93.7. Поле TProperty.FReadMember (Член класса для чтения)
FReadMember: TReadMember domain (Член класса для чтения) .

Используется для хранения значений свойства TProperty.ReadMember (Член класса для чтения)
.

9.4.93.8. Поле TProperty.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Scope (Область видимости)
.

9.4.93.9. Поле TProperty.FWriteMember (Член класса для записи)
FWriteMember: TWriteMember domain (Член класса для записи) .

Используется для хранения значений свойства TProperty.WriteMember (Член класса для записи)
.

9.4.93.10. Процедура TProperty.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

9.4.93.11. Процедура TProperty.CreateChildren (Создать дочерние свойства)

9.4.93.12. Свойство TProperty.Category (Категория)
Category: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TProperty.FCategory (Категория) .

9.4.93.13. Свойство TProperty.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FDomain (Домен) .

9.4.93.14. Свойство TProperty.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

9.4.93.15. Свойство TProperty.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

9.4.93.16. Свойство TProperty.IsExportable (Для экспорта)
IsExportable: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FIsExportable (Эскпортируется) .

9.4.93.17. Свойство TProperty.IsSuspended (Отложенное)
IsSuspended: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FIsSuspended (Отложенное) .

9.4.93.18. Свойство TProperty.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FPosition (Позиция) .

9.4.93.19. Свойство TProperty.ReadMember (Член класса для чтения)
ReadMember: TReadMember domain (Член класса для чтения) .

Для чтения и записи свойства используется поле TProperty.FReadMember (Член класса для чтения) .

9.4.93.20. Свойство TProperty.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FScope (Область видимости) .

9.4.93.21. Свойство TProperty.WriteMember (Член класса для записи)
WriteMember: TWriteMember domain (Член класса для записи) .

Для чтения и записи свойства используется поле TProperty.FWriteMember (Член класса для записи) .

9.4.93.22. Функция TProperty.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Используется для инициализации значения параметра Position (Позиция) подпрограммы TProperty.Create (Конструктор свойства)
.

9.4.94. Класс TPropertyBan (Запрет на свойство)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

9.4.94.1. Конструктор TPropertyBan.Create (Конструктор запрета на свойство)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |
BannedProperty (Запрещаемое свойство) | TBannedProperty domain (Свойство для запрета) |  | Доступен |
AllowRead (Чтение разрешено) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TPropertyBan (Запрет на свойство) .

9.4.94.2. Поле TPropertyBan.FAllowRead (Чтение разрешено)
FAllowRead: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.AllowRead (Чтение разрешено)
.

9.4.94.3. Поле TPropertyBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.BannedClass (Запрещаемый класс)
.

9.4.94.4. Поле TPropertyBan.FBannedProperty (Запрещенное свойство)
FBannedProperty: TBannedProperty domain (Свойство для запрета) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.BannedProperty (Запрещаемое свойство)
.

9.4.94.5. Свойство TPropertyBan.AllowRead (Чтение разрешено)
AllowRead: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TPropertyBan.FAllowRead (Чтение разрешено) .

9.4.94.6. Свойство TPropertyBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TPropertyBan.FBannedClass (Запрещенный класс) .

9.4.94.7. Свойство TPropertyBan.BannedProperty (Запрещаемое свойство)
BannedProperty: TBannedProperty domain (Свойство для запрета) (обязательно для заполнения) .

Для чтения значения свойства используется поле TPropertyBan.FBannedProperty (Запрещенное свойство) .

9.4.95. Класс TRole (Роли)
Унаследован от класса TSecurityAccount (Роли безопасности) . Объекты могут включать в себя объекты классов:
  • TRoleMember (Пользователи в ролях)

9.4.95.1. Конструктор TRole.Create (Конструктор роли)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TRole (Роли) .

9.4.95.2. Свойство TRole.IsCurrent (Является текущей)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TRole.GetIsCurrent (Является текущей) .

9.4.95.3. Функция TRole.GetIsCurrent (Является текущей)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TRole.IsCurrent (Является текущей)
.

9.4.96. Класс TRoleMember (Пользователи в ролях)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TRole (Роли) .

9.4.96.1. Конструктор TRoleMember.Create (Конструктор члена роли)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Роль) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
User (Пользователь) | TUser required domain (Пользователь) |  | Доступен | User (Пользователь)
IsPrimary (Основная роль) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TRoleMember (Пользователи в ролях) .

9.4.96.2. Поле TRoleMember.FIsPrimary (Основная роль)
FIsPrimary: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoleMember.IsPrimary (Основная роль)
.

9.4.96.3. Поле TRoleMember.FUser (Пользователь)
FUser: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TRoleMember.User (Пользователь)
.

9.4.96.4. Процедура TRoleMember.SetIsPrimary (Установка значения свойства "Является основной")

9.4.96.5. Свойство TRoleMember.IsPrimary (Основная роль)
IsPrimary: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoleMember.FIsPrimary (Основная роль) .

9.4.96.6. Свойство TRoleMember.User (Пользователь)
User: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoleMember.FUser (Пользователь) .

9.4.96.7. Свойство TRoleMember.UserClass (Класс члена роли)

9.4.97. Класс TRoutine (Подпрограмма)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) . Объекты могут включать в себя объекты классов:
  • TParameter (Параметры)

9.4.97.1. Конструктор TRoutine.Create (Конструктор подпрограммы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) |  | Доступен |
Domain (Домен результата) | TDomain domain (Домен) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) |  | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) |  | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) |  | Доступен |
Image (Изображение-иконка) | TImage (Изображение) |  | Доступен |

Конструирует объект класса TRoutine (Подпрограмма) .

9.4.97.2. Поле TRoutine.FConfirmation (Текст подтверждения)
FConfirmation: TCaption (Заголовки) .

Используется для хранения значений свойства TRoutine.Confirmation (Текст подтверждения)
.

9.4.97.3. Поле TRoutine.FDomain (Домен результата)
FDomain: TDomain domain (Домен) .

Используется для хранения значений свойства TRoutine.Domain (Домен результата)
.

9.4.97.4. Поле TRoutine.FImage (Изображеие-иконка)
FImage: TImage (Изображение) .

Используется для хранения значений свойства TRoutine.Image (Изображение-иконка)
.

9.4.97.5. Поле TRoutine.FIsClassMethod (Является методом класса)
FIsClassMethod: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.IsClassMethod (Является методом класса)
.

9.4.97.6. Поле TRoutine.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.Scope (Область видимости)
.

9.4.97.7. Поле TRoutine.FScript (Скрипт формы)
FScript: TRoutineScript (Скрипты форм параметров) .

Используется для хранения значений свойства TRoutine.Script (Скрипт формы параметров)
.

9.4.97.8. Поле TRoutine.FUseTabs (Использовать закладки)
FUseTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.UseTabs (Использовать закладки)
.

9.4.97.9. Свойство TRoutine.Confirmation (Текст подтверждения)
Confirmation: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TRoutine.FConfirmation (Текст подтверждения) .

9.4.97.10. Свойство TRoutine.Domain (Домен результата)
Domain: TDomain domain (Домен) .

Для чтения и записи свойства используется поле TRoutine.FDomain (Домен результата) .

9.4.97.11. Свойство TRoutine.Image (Изображение-иконка)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TRoutine.FImage (Изображеие-иконка) .

9.4.97.12. Свойство TRoutine.IsClassMethod (Является методом класса)
IsClassMethod: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FIsClassMethod (Является методом класса) .

9.4.97.13. Свойство TRoutine.ParamCount (Количество параметров)
ParamCount: Integer (Целое) .

Для чтения значения свойства используется функция TRoutine.GetParamCount (Количество параметров) .

9.4.97.14. Свойство TRoutine.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FScope (Область видимости) .

9.4.97.15. Свойство TRoutine.Script (Скрипт формы параметров)
Script: TRoutineScript (Скрипты форм параметров) .

Для чтения и записи свойства используется поле TRoutine.FScript (Скрипт формы) .

9.4.97.16. Свойство TRoutine.UseTabs (Использовать закладки)
UseTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FUseTabs (Использовать закладки) .

9.4.97.17. Функция TRoutine.GetParamCount (Количество параметров)

Возвращает значение типа Integer (Целое) .

Используется для вычисления значений свойства TRoutine.ParamCount (Количество параметров)
.

9.4.98. Класс TRoutineAction (Программируемое действие)
Унаследован от класса TAction (Действия) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

9.4.98.1. Конструктор TRoutineAction.Create (Конструктор программируемого действия)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) | Унаследован | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) | Унаследован | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) | Унаследован | Доступен |
Routine (Реализовано посредством ) | TActionRoutine required domain (Метод действия) |  | Доступен |

Конструирует объект класса TRoutineAction (Программируемое действие) .

9.4.98.2. Поле TRoutineAction.FRoutine (Подпрограмма)
FRoutine: TActionRoutine required domain (Метод действия) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineAction.Routine (Подпрограмма)
.

9.4.98.3. Свойство TRoutineAction.Routine (Подпрограмма)
Routine: TActionRoutine required domain (Метод действия) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutineAction.FRoutine (Подпрограмма) .

9.4.99. Класс TRoutineBan (Запрет на подпрограмму)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

9.4.99.1. Конструктор TRoutineBan.Create (Конструктор запрета на подпрограмму)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |
BannedRoutine (Запрещаемая подпрограмма) | TBannedRoutine domain (Подпрограмма для запрета) |  | Доступен |

Конструирует объект класса TRoutineBan (Запрет на подпрограмму) .

9.4.99.2. Поле TRoutineBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineBan.BannedClass (Запрещаемый класс)
.

9.4.99.3. Поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма)
FBannedRoutine: TBannedRoutine domain (Подпрограмма для запрета) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)
.

9.4.99.4. Свойство TRoutineBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TRoutineBan.FBannedClass (Запрещенный класс) .

9.4.99.5. Свойство TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)
BannedRoutine: TBannedRoutine domain (Подпрограмма для запрета) (обязательно для заполнения) .

Для чтения значения свойства используется поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма) .

9.4.100. Класс TSecurityAccount (Роли безопасности)
Унаследован от класса TObject (Объекты) .

9.4.101. Класс TStringDomain (Строковые)
Унаследован от класса TDomain (Домены) .

9.4.101.1. Конструктор TStringDomain.Create (Конструктор строкового домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) |  | Доступен |

Конструирует объект класса TStringDomain (Строковые) .

9.4.101.2. Поле TStringDomain.FLength (Максимальная длина)
FLength: TLength (Длина) (обязательно для заполнения) .

Используется для хранения значений свойства TStringDomain.Length (Длина)
.

9.4.101.3. Свойство TStringDomain.Length (Длина)
Length: TLength (Длина) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TStringDomain.FLength (Максимальная длина) .

9.4.102. Класс TTimeDomain (Время)
Унаследован от класса TDomain (Домены) .

9.4.102.1. Конструктор TTimeDomain.Create (Конструктор домена времени)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TTimeDomain (Время) .

9.4.103. Класс TUser (Пользователи)
Унаследован от класса TSecurityAccount (Роли безопасности) .

9.4.103.1. Конструктор TUser.Create (Конструктор пользователя)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TUser (Пользователи) .

9.4.103.2. Поле TUser.FAccessMode (Режим доступа)

9.4.103.3. Свойство TUser.AccessMode (Режим доступа)

9.4.103.4. Свойство TUser.IsCurrent (Является текущим)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

9.4.103.5. Функция TUser.GetIsCurrent (Является текущим)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойств:
TUser.IsCurrent (Является текущим)
TOptionValue.IsCurrent (Является текущим)
TInstantMessage.IsCurrent (Текущему пользователю)
.

9.4.104. Класс TView (Представления)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TAction (Действия)
  • TViewColumn (Колонки представлений)
  • TRoutineAction (Программируемое действие)
  • TViewAction (Действие-представление)

9.4.104.1. Конструктор TView.Create (Конструктор представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
ShownClass (Класс) | TClass required domain (Класс (обязательно)) |  | Доступен |
ColorProperty (Свойство цвета) | TColorProperty domain (Домен свойства цвета) |  | Доступен |
Collapsed (Свернуто) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TView (Представления) .

9.4.104.2. Поле TView.FCollapsed (Свернуто)
FCollapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TView.Collapsed (Свернуть)
TFormView.Collapsed (Узлы свернуты)
.

9.4.104.3. Поле TView.FColorProperty (Свойство цвета)
FColorProperty: TColorProperty domain (Домен свойства цвета) .

Используется для хранения значений свойств:
TView.ColorProperty (Свойство цвета)
TFormView.ColorProperty (Свойство-цвет)
.

9.4.104.4. Поле TView.FShownClass (Класс для показа)
FShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TView.ShownClass (Класс)
TFormView.ShownClass (Показываемый класс)
TViewAction.ShownClass (Показываемый класс)
.

9.4.104.5. Процедура TView.BuildDefaultActions (Создать действия по умолчанию)

9.4.104.6. Процедура TView.BuildDefaultColumns (Создать колонки по умолчанию)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ParentProperty (Родительское свойство) | TColumnProperty domain (Свойство колонки) |  | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ParentProperty (Родительское свойство) | TColumnProperty domain (Свойство колонки) |  | Скрыт |

9.4.104.7. Свойство TView.Collapsed (Свернуть)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FCollapsed (Свернуто) .

9.4.104.8. Свойство TView.ColorProperty (Свойство цвета)
ColorProperty: TColorProperty domain (Домен свойства цвета) .

Для чтения и записи свойства используется поле TView.FColorProperty (Свойство цвета) .

9.4.104.9. Свойство TView.ShownClass (Класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FShownClass (Класс для показа) .

9.4.104.10. Свойство TView.ShownClassMasterClass (Класс-мастер показываемого)
ShownClassMasterClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TClass.FMasterClass (Класс-мастер) .

Дочернее свойство свойства ShownClass (Класс) .

9.4.104.11. Свойство TView.ShownClassReplicationStatus (Статус репликации класса)
ShownClassReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

Дочернее свойство свойства ShownClass (Класс) .

9.4.105. Класс TViewAction (Действие-представление)
Унаследован от класса TAction (Действия) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

9.4.105.1. Конструктор TViewAction.Create (Конструктор действия-представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) | Унаследован | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) | Унаследован | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) | Унаследован | Доступен |
View (Представление) | TView of FormView domain (Представление для формы) |  | Доступен |
MasterProperty (Свойство-главное) | TMasterProperty domain (Свойство-главное) |  | Доступен |
DetailProperty (Свойство-подчиненное) | TDetailProperty domain (Свойство-подчиненное) |  | Доступен |

Конструирует объект класса TViewAction (Действие-представление) .

9.4.105.2. Поле TViewAction.FDetailProperty (Свойство-подчиненное)
FDetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Используется для хранения значений свойства TViewAction.DetailProperty (Свойство-подчиненное)
.

9.4.105.3. Поле TViewAction.FMasterProperty (Свойство-главное)
FMasterProperty: TMasterProperty domain (Свойство-главное) .

Используется для хранения значений свойства TViewAction.MasterProperty (Свойство-главное)
.

9.4.105.4. Поле TViewAction.FView (Представление)
FView: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Используется для хранения значений свойства TViewAction.View (Представление)
.

9.4.105.5. Свойство TViewAction.DetailProperty (Свойство-подчиненное)
DetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Для чтения и записи свойства используется поле TViewAction.FDetailProperty (Свойство-подчиненное) .

9.4.105.6. Свойство TViewAction.MasterProperty (Свойство-главное)
MasterProperty: TMasterProperty domain (Свойство-главное) .

Для чтения и записи свойства используется поле TViewAction.FMasterProperty (Свойство-главное) .

9.4.105.7. Свойство TViewAction.ShownClass (Показываемый класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TView.FShownClass (Класс для показа) .

Дочернее свойство свойства View (Представление) .

9.4.105.8. Свойство TViewAction.View (Представление)
View: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewAction.FView (Представление) .

9.4.106. Класс TViewColumn (Колонки представлений)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TView (Представления) .

9.4.106.1. Конструктор TViewColumn.Create (Конструктор колонки представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Property (Свойство) | TColumnProperty domain (Свойство колонки) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Grouped (Группировать) | Boolean (Обычное логическое) |  | Доступен |
Aggregate (Агрегат) | TAggregateKind (Тип агрегата) |  | Доступен |
SortDirection (Направление сортировки) | TSortDirection (Направление сортировки) |  | Доступен |
Fixed (Зафиксирована) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TViewColumn (Колонки представлений) .

9.4.106.2. Поле TViewColumn.FAggregate (Агрегат)
FAggregate: TAggregateKind (Тип агрегата) .

Используется для хранения значений свойства TViewColumn.Aggregate (Агрегат)
.

9.4.106.3. Поле TViewColumn.FFilter (Фильтр)
FFilter: TCaption (Заголовки) .

Используется для хранения значений свойства TViewColumn.Filter (Фильтр)
.

9.4.106.4. Поле TViewColumn.FFixed (Зафиксирована)
FFixed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Fixed (Зафиксирована)
.

9.4.106.5. Поле TViewColumn.FForceReadOnly (Только для чтения)
FForceReadOnly: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.ForceReadOnly (Только для чтения)
.

9.4.106.6. Поле TViewColumn.FGrouped (Группировать)
FGrouped: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Grouped (Группировать)
.

9.4.106.7. Поле TViewColumn.FIsFilterHidden (Фильтр скрыт)

9.4.106.8. Поле TViewColumn.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Position (Позиция)
.

9.4.106.9. Поле TViewColumn.FProperty (Свойство)
FProperty: TColumnProperty domain (Свойство колонки) .

Используется для хранения значений свойства TViewColumn.Property (Свойство)
.

9.4.106.10. Поле TViewColumn.FSortDirection (Направление сортировки)
FSortDirection: TSortDirection (Направление сортировки) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.SortDirection (Направление сортировки)
.

9.4.106.11. Поле TViewColumn.FWidth (Ширина)
FWidth: TWidth (Ширина) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Width (Ширина)
.

9.4.106.12. Свойство TViewColumn.Aggregate (Агрегат)
Aggregate: TAggregateKind (Тип агрегата) .

Для чтения и записи свойства используется поле TViewColumn.FAggregate (Агрегат) .

9.4.106.13. Свойство TViewColumn.Filter (Фильтр)
Filter: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TViewColumn.FFilter (Фильтр) .

9.4.106.14. Свойство TViewColumn.Fixed (Зафиксирована)
Fixed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FFixed (Зафиксирована) .

9.4.106.15. Свойство TViewColumn.ForceReadOnly (Только для чтения)
ForceReadOnly: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FForceReadOnly (Только для чтения) .

9.4.106.16. Свойство TViewColumn.Grouped (Группировать)
Grouped: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FGrouped (Группировать) .

9.4.106.17. Свойство TViewColumn.IsFilterHidden (Фильтр скрыт)

9.4.106.18. Свойство TViewColumn.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FPosition (Позиция) .

9.4.106.19. Свойство TViewColumn.Property (Свойство)
Property: TColumnProperty domain (Свойство колонки) .

Для чтения и записи свойства используется поле TViewColumn.FProperty (Свойство) .

9.4.106.20. Свойство TViewColumn.SortDirection (Направление сортировки)
SortDirection: TSortDirection (Направление сортировки) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FSortDirection (Направление сортировки) .

9.4.106.21. Свойство TViewColumn.Width (Ширина)
Width: TWidth (Ширина) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FWidth (Ширина) .

9.4.106.22. Функция TViewColumn.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TViewColumn.Create (Конструктор колонки представления)
.

9.4.107. Класс TVisualGroup (Визуальные группы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты могут включать в себя объекты классов:
  • TVisualGroupItem (Элемент визуальной группы)
  • TVisualGroupForm (Форма визуальной граппы)
  • TVisualGroupAccess (Доступ к визуальным группам)
  • TVisualGroupRoutine (Подпрограмма визуальной группы)

9.4.107.1. Конструктор TVisualGroup.Create (Конструктор визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Image (Изображение) | TImage (Изображение) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Collapsed (Свернута) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TVisualGroup (Визуальные группы) .

9.4.107.2. Поле TVisualGroup.FCollapsed (Свернута)
FCollapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Collapsed (Свернута)
.

9.4.107.3. Поле TVisualGroup.FImage (Изображение)
FImage: TImage (Изображение) .

Используется для хранения значений свойства TVisualGroup.Image (Изображение)
.

9.4.107.4. Поле TVisualGroup.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Position (Позиция)
.

9.4.107.5. Поле TVisualGroup.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Scope (Область видимости)
.

9.4.107.6. Свойство TVisualGroup.Collapsed (Свернута)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FCollapsed (Свернута) .

9.4.107.7. Свойство TVisualGroup.Image (Изображение)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TVisualGroup.FImage (Изображение) .

9.4.107.8. Свойство TVisualGroup.IsAccessible (Доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TVisualGroup.GetIsAccessible (Доступна) .

9.4.107.9. Свойство TVisualGroup.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FPosition (Позиция) .

9.4.107.10. Свойство TVisualGroup.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FScope (Область видимости) .

9.4.107.11. Функция TVisualGroup.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TVisualGroup.IsAccessible (Доступна)
.

9.4.107.12. Функция TVisualGroup.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TVisualGroup.Create (Конструктор визуальной группы)
.

9.4.108. Класс TVisualGroupAccess (Доступ к визуальным группам)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

9.4.108.1. Конструктор TVisualGroupAccess.Create (Конструктор доступа к визуальной группе)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Группа доступа) | TVisualGroup required domain (Визуальная группа (обязательно)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TVisualGroupAccess (Доступ к визуальным группам) .

9.4.109. Класс TVisualGroupForm (Форма визуальной граппы)
Унаследован от класса TVisualGroupItem (Элемент визуальной группы) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

9.4.109.1. Конструктор TVisualGroupForm.Create (Конструктор формы визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) | Унаследован | Доступен |
Form (Форма) | TForm required domain (Форма (обязательно)) |  | Доступен |

Конструирует объект класса TVisualGroupForm (Форма визуальной граппы) .

9.4.109.2. Поле TVisualGroupForm.FForm (Форма)
FForm: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupForm.Form (Форма)
.

9.4.109.3. Свойство TVisualGroupForm.Form (Форма)
Form: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupForm.FForm (Форма) .

9.4.109.4. Свойство TVisualGroupForm.Image (Изображение)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TForm.FImage (Изображеие-иконка) .

Дочернее свойство свойства Form (Форма) .

9.4.110. Класс TVisualGroupItem (Элемент визуальной группы)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

9.4.110.1. Конструктор TVisualGroupItem.Create (Конструктор элемента визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) |  | Доступен |

Конструирует объект класса TVisualGroupItem (Элемент визуальной группы) .

9.4.110.2. Поле TVisualGroupItem.FComment (Комментарий)
FComment: TComment (Текстовый комментарий) .

Используется для хранения значений свойства TVisualGroupItem.Comment (Комментарий)
.

9.4.110.3. Поле TVisualGroupItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupItem.Position (Позиция)
.

9.4.110.4. Свойство TVisualGroupItem.Comment (Комментарий)
Comment: TComment (Текстовый комментарий) .

Для чтения и записи свойства используется поле TVisualGroupItem.FComment (Комментарий) .

9.4.110.5. Свойство TVisualGroupItem.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupItem.FPosition (Позиция) .

9.4.110.6. Функция TVisualGroupItem.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TVisualGroupItem.Create (Конструктор элемента визуальной группы)
.

9.4.111. Класс TVisualGroupRoutine (Подпрограмма визуальной группы)
Унаследован от класса TVisualGroupItem (Элемент визуальной группы) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

9.4.111.1. Конструктор TVisualGroupRoutine.Create (Конструктор подпрограммы визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) | Унаследован | Доступен |
Routine (Подпрограмма) | TVisualGroup routine domain (Подпрограмма визуальной группы) |  | Доступен |

Конструирует объект класса TVisualGroupRoutine (Подпрограмма визуальной группы) .

9.4.111.2. Поле TVisualGroupRoutine.FRoutine (Подпрограмма)
FRoutine: TVisualGroup routine domain (Подпрограмма визуальной группы) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupRoutine.Routine (Подпрограмма)
.

9.4.111.3. Свойство TVisualGroupRoutine.Routine (Подпрограмма)
Routine: TVisualGroup routine domain (Подпрограмма визуальной группы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupRoutine.FRoutine (Подпрограмма) .

9.4.112. Класс TWordTemplate (Шаблоны отчетов Word)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

9.4.112.1. Конструктор TWordTemplate.Create (Конструктор шаблона Word)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TWordTemplateData (Данные Word-шаблона) |  | Доступен |
MacroName (Имя макроса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TWordTemplate (Шаблоны отчетов Word) .

9.4.112.2. Поле TWordTemplate.FMacroName (Имя макроса)
FMacroName: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TWordTemplate.MacroName (Имя макроса)
.

9.4.112.3. Поле TWordTemplate.FTemplateData (Данные шаблона)
FTemplateData: TWordTemplateData (Данные Word-шаблона) .

Используется для хранения значений свойства TWordTemplate.TemplateData (Данные шаблона)
.

9.4.112.4. Свойство TWordTemplate.MacroName (Имя макроса)
MacroName: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TWordTemplate.FMacroName (Имя макроса) .

9.4.112.5. Свойство TWordTemplate.TemplateData (Данные шаблона)
TemplateData: TWordTemplateData (Данные Word-шаблона) .

Для чтения и записи свойства используется поле TWordTemplate.FTemplateData (Данные шаблона) .

9.4.113. Класс TXSLTTemplate (Шаблоны отчетов XSLT)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

9.4.113.1. Конструктор TXSLTTemplate.Create (Конструктор шаблона xslt)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TXSLTTemplateData (Данные XSLT-шаблона) |  | Доступен |

Конструирует объект класса TXSLTTemplate (Шаблоны отчетов XSLT) .

9.4.113.2. Поле TXSLTTemplate.FTemplateData (Данные шаблона)
FTemplateData: TXSLTTemplateData (Данные XSLT-шаблона) .

Используется для хранения значений свойства TXSLTTemplate.TemplateData (Данные шаблона)
.

9.4.113.3. Свойство TXSLTTemplate.TemplateData (Данные шаблона)
TemplateData: TXSLTTemplateData (Данные XSLT-шаблона) .

Для чтения и записи свойства используется поле TXSLTTemplate.FTemplateData (Данные шаблона) .

9.4.114. Логический домен Boolean (Обычное логическое)
Значение обязательно для заполнения. Значение "истина" представляется строкой " Да ". Значение "ложь" представляется строкой " Нет ".

Используется в качестве простого признака, логического разряда.

9.4.115. Логический домен Non-required boolean (Необязательное логическое)
Значение "истина" представляется строкой " Да ". Значение "ложь" представляется строкой " Нет ".

Используется в качестве простого признака, логического разряда.

9.4.116. Перечисление TAggregateKind (Тип агрегата)
Допустимые значения:
  • agCount (Количество) - рассчитывается агрегат "Количество"
  • agSumm (Сумма) - рассчитывается агрегат "Сумма по колонке"
  • agMax (Максимальное значение) - рассчитывается агрегат "Максимальное значение по колонке"
  • agMin (Минимальное значение) - рассчитывается агрегат "Минимальное значение по колонке"
  • agAverage (Среднее значение) - рассчитывается агрегат "Среднее значение по колонке"

Определяет тип агрегации по колонке представления.

9.4.117. Перечисление TBlobSubtype (Подтип)
Значение обязательно для заполнения. Допустимые значения:
  • btText (Текст) - данные большого объекта представляют собой текст. Предположений о синтексисе текста не делается.
  • btBinaryData (Двоичные данные) - формат данных не интерпретируется системой.
  • btImage (Изображение) - данные содержат образ изображения в формате Windows Bitmap Storage (BMP).
  • btSourceCode (Исходный код) - данные являются исходным текстом на языке PascalScript.
  • btXML (XML-документ) - данные представляют собой xml-документ.
  • btNamedFile (Именованный файл) - данные представляют собой именованный файл. Имя файла также хранится в значении большого двоичного объекта.

Определяет формат значения большого двоичного объекта. Информация используется при попытке открыть значение для просмотра или редактирования.

9.4.118. Перечисление TChangeAction (Действие при изменении)
Значение обязательно для заполнения. Допустимые значения:
  • atCreated (Создан) - после создания объекта
  • atChanging (Изменится) - перед изменением объекта
  • atDestroying (Удаляется) - перед удалением объекта
  • atChanged (Изменен) - после изменения объекта

Значение соответствует изменяющему действию. Используется в процедурах изменения объекта.

9.4.119. Перечисление TDateTimePart (Часть даты или времени)
Значение обязательно для заполнения. Допустимые значения:
  • dpYear (Год)
  • dpMonth (Месяц)
  • dpDay (День)
  • dpHour (Час)
  • dpMinute (Минута)
  • dpSecond (Секунда)
  • dpDayOfWeek (День недели)

Значение описывает часть даты/времени

9.4.120. Перечисление TDeleteRule (Правило удаления)
Значение обязательно для заполнения. Допустимые значения:
  • drRestrict (Нет правила)
  • drCascade (Каскадное удаление)
  • drSetNull (Очистить ссылку)

Значение определяет действия, выполняемые системой при попытке удаления объекта.

9.4.121. Перечисление TExcelSheetKind (Тип листа Excel)
Значение обязательно для заполнения. Допустимые значения:
  • skNone (Не переносить данные на лист)
  • skFirst (На первый лист)
  • skFirstHidden (На певый скрытый лист)
  • skLast (На последний лист)
  • skNew (На новый лист)

Определяет лист для переноса данных при формировании отчета Microsoft Excel.

9.4.122. Перечисление TReplicationStatus (Статус репликации)
Значение обязательно для заполнения. Допустимые значения:
  • rsReplicatableMetadata (Вместе с метаданными)
  • rsReplicatable (Вместе с бизнес-данными)
  • rsNotReplicatable (Не реплицировать)

Определяет статус репликации объекта.

9.4.123. Перечисление TRowColor (Цвет строки таблицы)
Допустимые значения:
  • rcDefault (По умолчанию)
  • rcRed (Красная строка)
  • rcGreen (Зеленая строка)
  • rcBlue (Синяя строка)

Определяет цвет отображения строки в таблице.

9.4.124. Перечисление TScope (Область видимости)
Значение обязательно для заполнения. Допустимые значения:
  • scPublic (Видимо пользователям)
  • scPrivate (Не видимо пользователям)

Определяет область видимости элементов.

9.4.125. Перечисление TSecurityModel (Модели безопасности)
Значение обязательно для заполнения. Допустимые значения:
  • smFullAccess (Доступ не ограничен)
  • smPublic (Публичный объект)
  • smPrivate (Приватный объект)

Определяет модель безопасности, в соответствии с которой будет создан новый объект.

9.4.126. Перечисление TShowObjectInfoType (Тип представления объектов)
Значение обязательно для заполнения. Допустимые значения:
  • soName (Показывать имена)
  • soDescription (Показывать наименования)
  • soBoth (Показывать имена и наименования)

Описывает тип представления объектов, доступных по ссылке, в выпадающем списке и таблице.

9.4.127. Перечисление TSortDirection (Направление сортировки)
Значение обязательно для заполнения. Допустимые значения:
  • sdNone (Нет)
  • sdAscending (По возрастанию)
  • sdDescending (По убыванию)

Определяет направление сортировки по колонке представления.

9.4.128. Перечисление TUserAccessMode (Режим доступа)

9.4.129. Строковый домен Char (Символ)
Максимальная длина (в символах): 2.

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

9.4.130. Строковый домен TCaption (Заголовки)
Максимальная длина (в символах): 128.

Используется для представления заголовков элементов управления на экранных формах, например, закладок, групп, категорий свойств.

9.4.131. Строковый домен TExternalIndentifier (Внешний идентификатор)
Максимальная длина (в символах): 128.

Используется для идентификации объектов, внешних по отношению к системе, например, идентификторов классов OLE-объектов или макросов VBA.

9.4.132. Строковый домен TFileExtension (Расширение имени файла)
Максимальная длина (в символах): 10.

Служит для хранения расширения имени файла. Расширение имени может начинаться с точки. Значения ".xml" и "xml" функционально эквивалентны.

9.4.133. Строковый домен TGUID (Уникальные идентификаторы)
Значение обязательно для заполнения. Максимальная длина (в символах): 38.

Используется для хранения глобально-уникальных идентификаторов. Длина обусловлена традиционной формой представления идентификторов (GUID): "{ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ}" (без кавычек, с фигурными скобками), где Х - шестнадцатиричный разряд. Таким образом, глобально-уникальный идентификатор состоит из 16 байт.

Значение обязательно для заполнения.
Максимальная длина (в символах): 38.

9.4.134. Строковый домен TLongString (Длинная строка)
Максимальная длина (в символах): 2000.

Максимально длинная поддерживаемая строка. Используется для репрезентации "строки вообще" в строковых функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого строкового значения.

9.4.135. Строковый домен TObjectDescription (Наименования)
Значение обязательно для заполнения. Максимальная длина (в символах): 128.

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

9.4.136. Строковый домен TObjectName (Имена)
Значение обязательно для заполнения. Максимальная длина (в символах): 64.

Используется для хранения имен объектов. Каждый объект системы имеет обязательное имя. Имена объектов обязаны быть уникальными в пределах класса, родительского объекта (если есть) и инкапсулирующего объекта (если есть).

9.4.137. Строковый домен TOldID (Идентификаторы при создании)
Значение обязательно для заполнения. Максимальная длина (в символах): 38.

Используется для хранения идентификаторов объекта, полученного им при создании. Этот идентификатор сохраняется при репликации объекта в другую физическую базу данных. Длина обусловлена традиционной формой представления глобально-уникальных идентификторов (GUID): "{ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ}" (без кавычек, с фигурными скобками), где Х - шестнадцатиричный разряд.

Значение обязательно для заполнения.
Максимальная длина (в символах): 38.

9.4.138. Строковый домен TShortcut (Горячие клавиши)
Максимальная длина (в символах): 20.

Используется для задания горячих клавиш. Текст значения интерпретируется функцией Windows API GetKeyNameText. Примеры значений (без кавычек):

  • "Ins"
  • "Del"
  • "Ctrl+Ins"
  • "Ctrl+Alt+Ins"
  • "F12"
  • "F1"
  • "Ctrl+A"
  • "A"

9.4.139. Целочисленный домен Integer (Целое)

Используется для репрезентации "целого вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого целочисленного значения.

9.4.140. Целочисленный домен Percent (Процент)
Минимальное допустимое значение: 0 . Минимальное допустимое значение: 100 .

Используется для хранения целого количества процентов, для чего вводит ограничения на значение.

9.4.141. Целочисленный домен TLength (Длина)
Значение обязательно для заполнения. Минимальное допустимое значение: 1 .

Обозначет длину строки. Пустые строки системой не поддерживаются и интерпретируются как отстутсвие строкого значения (nil, null)

9.4.142. Целочисленный домен TPosition (Позиция)
Значение обязательно для заполнения. Минимальное допустимое значение: 0 .

Значение содержит позицию элемента в последовательности. Используется обычно для упорядочивания однородных элементов.

9.4.143. Целочисленный домен TPrescision (Точность)
Минимальное допустимое значение: 1 .

Используется для хранения точности представления вещественных чисел.

9.4.144. Целочисленный домен TWidth (Ширина)
Значение обязательно для заполнения. Минимальное допустимое значение: 0 .

Используется для хранения ширин экранных элементов (например, колонок)

9.5. Терминология

Интеграция - комплекс работ по настройке механизмов взаимодействия между различными учетными системами, которые функционируют независимо друг от друга в одной организационной структуре ("лоскутная" автоматизация).

Реплика - копия объекта (например, базы данных), обновляемая автоматически при обновлении оригинала.

Модальная форма - подчиененная форма, вызываемая из процедуры, накладывающая ограничения на использование процедуры пока модальная форма не будет закрыта.

10. Облачные вычисления

Под терминами "Облака", "Облачные вычисления" подразумеваются способы организации распределенных вычислений данных, функций, всего того, что требуется для автоматизации бизнес-процессов. Реализация подобной технологии иначе называется DNS (Domain Name System - система доменных имен). Упрощенно можно сказать, что существует база данных, где каждому зарегистрированному доменному имени соответствует некий IP-адрес. Также в записях этой базы данных предусмотрены настройки, указывающие на использование записей для различных действий (для электронной почты, для web и т.д.). База данных является распределенной, она хранится на множестве серверов в сети Internet одновременно, и каждый из этих серверов по стандартному описанному протоколу отдает записи этой базы данных. При необходимости можно осуществить сбор всей информации DNS, однако данные меняются настолько быстро, что в результате такой операции будут получены устаревшие значения, не соответствующие реальным.

В то же время с данными DNS вполне допустимо производить кэширование, периодическое обновление и т.п. Смысл "облачной" технологии в том, что данные заменяются на функции доступа к ним. Таким образом, нет необходимости хранить данные о соответствии DNS-имен IP-адресам. При этом всегда доступна информация о том как и куда необходимо обратиться с запросом данных и как использовать полученный ответ.

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

Для понимания, приведем пример одного из московских ВУЗов с широкой сетью филиалов.

В начале создания внутрикорпоративной системы ВУЗа ее построение происходило постепенно, по частям. Было создано централизованное хранилище всех данных, база данных с необходимыми данными и бизнес-функциями, которые выполнялись над этими данными. Все пользователи системы осуществляли свою работу из единой локальной сети с включенной в нее базой данных. Соединения осуществлялись по стандартному потоколу, предоставляемому СУБД. Этот протокол требовал низколатентных соединений и пользователи были удовлетворены, однако существловали достаточно критичные ограничения на доступ к базе данных. Данная технология представляла собой технологию "клиент-сервер".

В дальнейшем потребовалось распространение решения для удаленных филиалов ВУЗа. Было принято внутреннее решение IT-служб ВУЗа о разделении базы данных, то есть каждый филиал получил собственную базу данных (изначально пустую) и начал работать с ней. Попытка синхронизации справочников собственными усилиями не удалась. Синхронизация данных - удалась частично. Сопутствующие сопровождению системы задачи (например, распространение обновлений и др.) решались с переменным успехом.

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

Вопросы по разграничению доступа, настроек и т.п. в данный момент решаются централизованно.

Простым и правильным способом организации корпоративных "облачных" SaaS-технологий будет поддержка такого решения в пределах одной организации.

Другой реальный пример внедрения "облачных" технологий - другой крупный ВУЗ:

При внедрении Системы не оказалось сил, способных осуществлять обслуживание серверных мощностей. В итоге компания "Мельница Технолгий" на собственных подконтрольных площадях самостоятельно развернула всю инфраструктуру, требующуюся для функционирования базы данных ВУЗа. Далее, на базе решения сервер приложений Платформы были созданы точки входа, через которые все функции Системы, а также все данные были доступны пользователям ВУЗа.

Основным аргументом представителей ВУЗа против подобного внедрения был тот факт, что данные хранятся не на собственных мощностях, а у стороннего поставщика услуг. Для разрешения спорного вопроса, каждую ночь на мощностях компании "Мельница Технологий" автоматически создается реплика с самыми актуальными данными. Таким образом ВУЗ всегда имеет в своем распоряжении ежедневный backup для оперативного развертывания в случае форс-мажора.

Из примера понятно, что компания "Мельница Технологий" имеет все возможности и ресурсы для подключения новых пользователей "облака", которые не желают или не имеют возможности заниматься обслуживанием Системы. При этом на заказчика не ложатся затраты на закупку и развертывание инфраструктуры и базы данных, на содержание администраторов Системы.

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

Следует обратить внимание, что понятия "Облако", "Облачные вычисления" носят сугубо маркетинговый характер и не несут какой-то четкой логики построения решений. Технология заключается только в создании точек входа, за которыми функции распределяются по собственным алгоритмам, которые не должны интересовать конечного пользователя. Данные алгоритмы всегда могут быть изменены в зависимости от необходимости. Так, при возрастании нагрузки на "облако", она может быть перераспределена по тому количеству серверов, которое необходимо и удобно.

11. OLTP и OLAP

OLTP (OnLine Transaction Processing) - обработка транзакций онлайн.

Задача, которая решается с помощью OLTP-метода называется здесь и дальше "учет". Т.е. это в первую очередь учетные задачи. Характерным элементом управления решенной OLTP-задачи является так называемый "grid" - таблица, состоящая из колонок и строк.

Когда ставится и решается задача постановки учета чего бы то ни было, например, продаж мороженого, пользователь должен увидеть в результате "grid" (таблицу, табличное представление), где каждая строка соответствует одному объекту учета, в данном случае - продаже мороженого, а каждый столбец соответствует атрибуту этого самого элемента учета. В нашем случае, с продажами мороженого это точка, которая продала, сорт, количество, цена, сумма продажи и т.д.

Сорт мороженного | Точка продаж | Кол-во | Цена | Сумма
Пломбир | ул. Ленина | 50 | 20 | 1000
Ленинградское | ул. Ленина | 20 | 18 | 360
Эскимо | ул. Ленина | 100 | 23 | 2300
Лакомка | ул. Ленина | 30 | 25 | 750
В стаканчике | ул. Ленина | 150 | 12 | 1800

Эта таблица должна храниться в базе данных и пользователю не важно при помощи какой технологии построена база данных (на реляционных принципах, на объектных принципах или других). Важно то, что клиентское приложение, с которым пользователь непосредственно взаимодействует, может получить данные и показать их в виде таблицы.

Как правило, у пользователя есть несколько стандартных действий для управления данными в таблице - сортировка, группировка, отбор по колонкам, по дополнительным критериям. Все эти действия предназначены быстрого поиска ошибок в данных. Таким образом поиск ошибок учета осуществляется именно в таблицах. Для исправления ошибок используются следующие методы:

1. В таблице, соответствующая ячейка переводится в режим редактирования, данные изменяются непосредственно в ней, нажатием клавиши Enter подтверждается изменение, и, если новое значение удовлетворяет внутренним ограничениям Системы, то оно будет записано в базу данных.

2. Исправление может рассматриваться как операция, в этом случае: выделяется один или несколько объектов таблицы, т.е. одна или несколько строчек, вызывается действие (либо кнопкой в панели инструментов, либо через контекстное меню, либо каким-то более экзотическим способом). Будет показана модальная форма ввода значений и параметров. При этом пользователь не сможет продолжить работы с системой пока эта форма не будет закрыта после внесения изменений или без них. Только после закрытия модальной формы действие начинает выполняться.

3. Для Платформы "Мельница Данных" также разработан элемент управления, который называется "инспектор объектов". Он используется для установки одинаковых значений для выбранных в таблице однородных объектов. Также инспектор объектов используется, для удобного просмотра всех аттрибутов объекта, так как зачастую таблица содержит такое большое количество колонок, что работа с ними в таблице.

После поиска ошибок какие-то из объектов таблицы участвуют в дальнейших бизнес-процессах, которые должны быть реализованы, какие-то не участвуют и просто хранятся.

Для конечного пользователя простой ввод бизнес-данных в систему учета не имеет никакого практического смысла без возможности дальнейшей обработки и формирования отчетности.

Первичные данные, полученные в результате решения OLTP-задачи, должны использоваться для решения бизнес-задач.

OLАP (Online Analisys Processing) - аналитическая обработка в реальном времени.

В результате решения задачи OLAP система может получить следующее:

1. Результаты обработки, готовые к публикации.

2. Информация для дальнейшего принятия управленческих решений.

Данные, полученные в результате решения OLTP-задачи, поступают на вход и рассматриваются в качестве входных данных для задачи OLАP. Такие данные принято называть "Фактами". Факты должны быть предварительно выверены, подготовлены. В зависимости от разработанных стандартов для Системы не все данные могут быть переданы в OLAP-задачу в качестве фактов. Для данных могут использоваться дополнительные признаки, такие как: "Выверено", "Обработано", "Проверено", "Утверждено". Соответственно на вход OLAP-задачи можно направить данные, для которых один, несколько или все признаки (определяется логикой при разработке) имеют значение "Истина". Факты, которые попали на вход OLAP-задачи, составляют таблицу фактов. В таблице фактов выделяются факты, которые являются "мерой" (measure) или "показателем" (index).

Для примера, самый простой показатель - это количество самих фактов, а также средняя сумма, дисперсия, любой агрегат над этим значением.

Далее выверяют измерение анализа - это, как правило, ссылки на справочные таблицы, и по этим справочным таблицам строится список соответствующий измерению (dimension). На основании таблицы фактов и информации о том, что у нас является показателем, что у нас является измерениями, строится так называемый "куб". Структура данных "куба" сложная. Для наглядности, ниже приведен "куб" для нашего простого примера продаж мороженного:

В качестве меры выбрано количество сумма продаж по деньгам, а в качестве измерения - сорт мороженого, дата и точка, которая эту продажу осуществила. По первой оси - дата. По этой оси выстраиваются все дни соответствующего периода, 01.01.2012, 02.01.2012 и так далее. За год - 365 точек. По другой оси выстраиваются все имеющиеся в продаже сорта. По третьей оси мы ставим точки, соответствующие точкам продаж. В получившемся кубе, в каждой ячейке пишем общую сумму продаж этого сорта мороженного в этой точке и за этот день. В каждой из ячеек может быть несколько различных значений измерений. В этом случае ячейка делится на несколько частей. Например, для примера с мороженным, ячейка также может содержать, кроме суммы продаж, количество проданных единиц данного сорта мороженного. В более сложных случаях, количество показателей может быть большим чем три, как в примере.

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

Второе требование для OLAP задачи - визуализация данных. Табличный вид описанного выше "куба" это сводная таблица, позволяющая группировать измерения, а также показывать факты, то есть значения показателей в ячейках. Для таблицы доступны различные варианты просмотра данных в различных разрезах.

Следующее требование - публикация данных. Здесь нужно отметить, что публикация одного единственного среза данных не несет большого смысла. С точки зрения конечного пользователя, оптимальным вариантом публикации будет являться такой вид на данные, при котором пользователь может "вживую" менять измерения, перетаскивать их и т.д. Такая публикация может быть полезна при принятии управленческих решений руководством предприятия, а также будет удобна для анализа конечными пользователями. Кроме того, для публикации активно используются всевозможные графики, диаграммы, построенные по актуальным данным.

Достаточно востребованным для конечных пользователей является также свойство Системы, называемое Drill Down (проваливание). Данное свойство подразумевает, что пользователь выбрав каким-либо образом значение показателя, имеет возможность посмотреть, каким образом этот показатель был посчитан, на основании чего, и собственно, на основании каких конкретно данных был сформирован этот показатель. Для этого OLАP-системе необходим доступ к первичным данным. Такое требование не является существенной проблемой, так как у хранилище одно и то же и для OLTP-задачи и для OLАP-задачи.


Мельница данных ((раздел целиком))

Мельница данных- Класс TOptionValue (Значения настроек) (раздел целиком) (23.04.2022) (одним файлом)
Класс TOptionValue (Значения настроек)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TOption (Настройки) .

1. Конструктор TOptionValue.Create (Конструктор значения настройки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
User (Пользователь) | TUser domain (Пользователь) |  | Доступен |
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TOptionValue (Значения настроек) .

2. Поле TOptionValue.FBlobValue (Значение-большой объект)
FBlobValue: TBinaryData (Двоичные данные) .

Используется для хранения значений свойства TOptionValue.BlobValue (Значение-большой объект)
.

3. Поле TOptionValue.FBoolValue (Логическое значение)
FBoolValue: Non-required boolean (Необязательное логическое) .

Используется для хранения значений свойства TOptionValue.BoolValue (Логическое значение)
.

4. Поле TOptionValue.FDateTimeValue (Значение даты со временем)
FDateTimeValue: TimeStamp (Момент) .

Используется для хранения значений свойства TOptionValue.DateTimeValue (Значение даты со временем)
.

5. Поле TOptionValue.FDateValue (Значение даты)
FDateValue: TDate (Дата) .

Используется для хранения значений свойства TOptionValue.DateValue (Значение даты)
.

6. Поле TOptionValue.FFloatValue (Вещественное значение)
FFloatValue: Float (Вещественное) .

Используется для хранения значений свойства TOptionValue.FloatValue (Вещественное значение)
.

7. Поле TOptionValue.FIntValue (Целое значение)
FIntValue: Integer (Целое) .

Используется для хранения значений свойства TOptionValue.IntValue (Целое значение)
.

8. Поле TOptionValue.FObjectValue (Значение-объект)
FObjectValue: TObject domain (Объект) .

Используется для хранения значений свойства TOptionValue.ObjectValue (Значение-объект)
.

9. Поле TOptionValue.FStrValue (Строковое значение)
FStrValue: TLongString (Длинная строка) .

Используется для хранения значений свойства TOptionValue.StrValue (Строковое значение)
.

10. Поле TOptionValue.FTimeValue (Значение времени)
FTimeValue: TTime (Время) .

Используется для хранения значений свойства TOptionValue.TimeValue (Значение времени)
.

11. Поле TOptionValue.FUser (Пользователь)
FUser: TUser domain (Пользователь) .

Используется для хранения значений свойств:
TOptionValue.User (Пользователь)
TOption.User (Пользователь)
.

12. Свойство TOptionValue.BlobValue (Значение-большой объект)
BlobValue: TBinaryData (Двоичные данные) .

Для чтения и записи свойства используется поле TOptionValue.FBlobValue (Значение-большой объект) .

13. Свойство TOptionValue.BoolValue (Логическое значение)
BoolValue: Non-required boolean (Необязательное логическое) .

Для чтения и записи свойства используется поле TOptionValue.FBoolValue (Логическое значение) .

14. Свойство TOptionValue.DateTimeValue (Значение даты со временем)
DateTimeValue: TimeStamp (Момент) .

Для чтения и записи свойства используется поле TOptionValue.FDateTimeValue (Значение даты со временем) .

15. Свойство TOptionValue.DateValue (Значение даты)
DateValue: TDate (Дата) .

Для чтения и записи свойства используется поле TOptionValue.FDateValue (Значение даты) .

16. Свойство TOptionValue.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FDomain (Домен) .

Дочернее свойство свойства Option (Настройка) .

17. Свойство TOptionValue.FloatValue (Вещественное значение)
FloatValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TOptionValue.FFloatValue (Вещественное значение) .

18. Свойство TOptionValue.Global (Глобальная)
Global: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FGlobal (Глобальная) .

Дочернее свойство свойства Option (Настройка) .

19. Свойство TOptionValue.IntValue (Целое значение)
IntValue: Integer (Целое) .

Для чтения и записи свойства используется поле TOptionValue.FIntValue (Целое значение) .

20. Свойство TOptionValue.IsCurrent (Является текущим)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

Дочернее свойство свойства User (Пользователь) .

21. Свойство TOptionValue.ObjectValue (Значение-объект)
ObjectValue: TObject domain (Объект) .

Для чтения и записи свойства используется поле TOptionValue.FObjectValue (Значение-объект) .

22. Свойство TOptionValue.Option (Настройка)
Option: TOption required domain (Настройка (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

23. Свойство TOptionValue.StrValue (Строковое значение)
StrValue: TLongString (Длинная строка) .

Для чтения и записи свойства используется поле TOptionValue.FStrValue (Строковое значение) .

24. Свойство TOptionValue.TimeValue (Значение времени)
TimeValue: TTime (Время) .

Для чтения и записи свойства используется поле TOptionValue.FTimeValue (Значение времени) .

25. Свойство TOptionValue.User (Пользователь)
User: TUser domain (Пользователь) .

Для чтения и записи свойства используется поле TOptionValue.FUser (Пользователь) .

26. Свойство TOptionValue.VisibleValue (Видимое значение)
VisibleValue: TLongString (Длинная строка) .

Для чтения значения свойства используется функция TOptionValue.GetVisibleValue (Видимое значение) .

27. Функция TOptionValue.GetVisibleValue (Видимое значение)

Возвращает значение типа TLongString (Длинная строка) .

Используется для вычисления значений свойств:
TOptionValue.VisibleValue (Видимое значение)
TOption.VisibleValue (Видимое значение)
.


Мельница данных ((раздел целиком))

Мельница данных- Класс TVisualGroupAccess (Доступ к визуальным группам) (раздел целиком) (23.04.2022) (одним файлом)
Класс TVisualGroupAccess (Доступ к визуальным группам)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

1. Конструктор TVisualGroupAccess.Create (Конструктор доступа к визуальной группе)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Группа доступа) | TVisualGroup required domain (Визуальная группа (обязательно)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TVisualGroupAccess (Доступ к визуальным группам) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TTimeDomain (Время) (раздел целиком) (23.04.2022) (одним файлом)
Класс TTimeDomain (Время)
Унаследован от класса TDomain (Домены) .

1. Конструктор TTimeDomain.Create (Конструктор домена времени)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TTimeDomain (Время) .


Мельница данных ((раздел целиком))

Мельница данных- Соглашения (раздел целиком) (23.04.2022) (одним файлом)
Соглашения

1. Соглашения о наименованиях

В качестве вводимых (объявляемых) идентификаторов необходимо использовать так называемую нотацию InfixCaps. Если при создании имени используется несколько слов, то необходимо использовать заглавную букву для каждого слова в имени. Для разделения слов нельзя использовать символ подчеркивания. Все сущности именуются на английском языке, при этом использование сокращений является оправданным только в случае, если длина образуемого имени не согласуется с внешними по отношению к соображениям бизнес-логики ограничениям.

  • Имя класса должно начинаться с латинской буквы 'T'.
    Имя | Наименование
    TObjectList | Список объектов
    TLearnPlan | Учебный план
  • Имя поля должно начинаться с латинской буквы 'F'.
    Имя | Наименование
    FLearnPeriod | Период обучения
    FExamMark | Оценка за экзамен
  • Имя свойства не имеет префикса.
    Имя | Наименование
    ExamKind | Вид рубежного испытания
    ContactPhone | Контактный телефон
    Если членом класса для чтения свойства является поля, то имя свойства должно повторять имя поля без префикса 'F'. Если членом класса для чтения свойства является метод, то имя поля должно повторять имя метода без слова 'Get'.
  • Имя параметра не имеет префикса.
    Имя | Наименование
    OrderNumber | Номер приказа
    ExamDate | Дата проведения экзамена
    Параметры, используемые для инициализации значений полей, должны иметь имя, повторяющее имя поля без префикса 'F'. При компиляции тела метода, написанного на языке PascalScript имена параметров и имена свойств будут распознаваться в соответствии с порядком разбора идентификаторов, как это описано здесь и здесь.
  • Имена методов должны представлять собой императивный глагол на английском языке, выражающий смысл того, что метод делает. Имена методов не имеют префикса. Имена методов, используемых для получения значений свойств должны (как члены класса для чтения), должны начинаться со слова Get. Имена методов, используемых для установки значений свойств должны (как члены класса для записи), должны начинаться со слова Set.
    Имя | Наименование
    CountMarkSumm | Вычислить сумму баллов
    GetAge | Получить значение возраста
    SetMark | Установить значение оценки
  • Имена локальных переменных должны начинаться с латинской буквы 'L'.
    LMarkSumm (сумма баллов), LObjectCount (количество объектов).
  • Имена доменов должны начинаться с латинской буквы 'T'. В именах доменов допустимы пробелы. Рекомендуется к имени домена добавлять слово 'domain' (через пробел), а для обязательных доменов 'required domain' (через пробел) тогда, когда необходимо исключить возможность использования этих доменов в текстах на PascalScript. Первым словом в имени домена-ссылки должно быть имя класса домена. Исключением являются имена доменов, соответствующих простым типам данных без дополнительных ограничений. Имена таких доменов могут повторять имена типов языка PascalScript (Integer, Boolean, Float).
    Имя | Класс домена | Наименование
    TPrice domain | Вещественный | домен Цена
    TWeight required domain | Целочисленный | домен Вес (обязательный)
    Boolean | Логический | Логический
    TClassMember required domain | Ссылка | домен Член класса
  • Имена элементов перечислений должны иметь префикс из двух или трех символов, идентифицирующий соответствующий домен-перечисление. Префикс записывается строчными буквами. Например,
    Имя | Наименование
    для домена TExamKind (вид испытания)
    ekTest | зачет
    ekExam | экзамен
    ekDifTest | дифференцированный зачет
    для домена TAggregateKind (вид агрегата)
    agCount | количество
    agSumm | сумма
    agAverage | среднее значение
    Настоятельно рекомендуется давать уникальные имена элементов перечислений в пределах всей системы.

2. Cтилевое оформление исходного кода

Код на языке PascalScript, являющийся частью поставляемого решения, должен быть оформлен в соответствии с изложенными правилами.

2.1. Использование строк, пробелов и отступов

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

Пробелы, запрещенные к использованию:

  • До или после точки "."
  • Между именем вызываемого метода и открывающей скобкой "("
  • После открывающей скобки "(" или перед закрывающей ")"
  • Перед точкой с запятой ";"
  • Перед двоеточием ":"
  • Перед запятой ","

Двоеточие для всех объявлений переменных не должно содержать перед собой пробелов и иметь один пробел после перед именем типа.

Всегда необходимо использовать два пробела для всех уровней отступа. Другими словами, первый уровень отступает на два пробела, второй на четыре и так далее. Никогда не используйте символы табуляции.

Существует несколько исключений из этого правила. Зарезервированные слова var, begin и end, относящиеся к программному блоку вцелом, всегда должны примыкать к левой границе. Код внутри блока begin..end должен иметь отступ два символа.

Все строки должны быть ограничены 80 столбцами. Строки, длиннее чем 80 столбцов должны быть разделены и перенесены. Все перенесенные строки должны быть выровнены по первой строке и иметь отступ в два символа. Зарезервированное слово begin всегда должно находиться на своей отдельной строке.

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

2.2. Оформление объявлений и операторов

Все переменные с их типами должны быть объявлены на различных строках.

Простые операторы содержат одну точку с запятой. Если Вам необходимо разделить оператор, то перенесите продолжение оператора на следующую строку с отступом в два пробела.
  MyValue :=
    MyValue + (SomeVeryLongStatement / OtherLongStatement);

Составные операторы всегда заканчиваются точкой с запятой.
begin
  MyStatement;
  MyNext Statement;
  MyLastStatement;
end;

Каждое присвоение и каждое выражение должно располагаться на разных строках.

Оператор "if"

Оператор if всегда должен располагаться по крайней мере на двух строках
if A < B then DoSomething;
if A < B then
  DoSomething;
В случае составного оператора необходимо поместить каждый оператор на новую строку.
  if A < B then begin
    DoSomething;
    DoSomethingElse;
  end else begin
    DoThis;
    DoThat;
  end;

  if A < B then
  begin
    DoSomething;
    DoSomethingElse;
  end
  else
  begin
    DoThis;
    DoThat;
  end;
Все остальные варианты расположения операторов не рекомендуются и не одобряются, хотя и являются синтаксически правильными.

Оператор "for"

  for i := 0 to 10 do begin
    DoSomething;
    DoSomethingElse;
  end;

  for i := 0 to 10 do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  for I := 0 to 10 do
    DoSomething;

Оператор "while"

  while x < j  do begin
    DoSomething;
    DoSomethingElse;
  end;
  while x < j do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  while x < j do
    Something;

Оператор "repeat..until"

  repeat
    x := j;
    j := UpdateValue;
  until j > 25;

Оператор "case"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
  case LCode of
    1, 3:
      begin
        Incr := FIncrement + 1;
        FinalIncr := FIncrement div FLineDiv;
        Count := FLineDiv;
      end;
    2, 4:
      begin
        Incr := FPageIncrement;
        FinalIncr := Incr + 1;
        Incr := Incr div FPageDiv;
        Count := FPageDiv;
      end;
  else
    begin
      Count := 0;
      Incr := 0;
      FinalIncr := 0;
    end;
  end;

Оператор "try"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
try
  try
    EnumItems(CurrentThreadID, LDisable, 0);
    Result := TaskList;
  except
    EnableItems(TaskList);
    raise;
  end;
finally
  TaskList := SaveList;
  TaskActive := SaveActive;
end;


Мельница данных ((раздел целиком))

Мельница данных- Разработка шаблонов (раздел целиком) (23.04.2022) (одним файлом)
Разработка шаблонов

Шаблон представляет собой обычную рабочую книгу Excel.

Шаблоны для переноса данных в Excel физически интегрируются внутрь .MQR-файла и хранятся вместе с запросом. Разработку шаблона можно вести независимо, используя только Microsoft Excel (запуская его самостоятельно), а потом загрузить в файл запроса, а можно воспользоваться пунктом меню "Редактировать" на странице "Шаблоны".

Для взаимодействия с источником данных рабочая книга-шаблон должна содержать в любом модуле макрос с именем "Template" (без кавычек) с одним параметром. При выполнении переноса данных по этому шаблону QueryBuilder произведет вызов этого метода, передав в качестве фактического значения параметра объект, реализующий интерфейс IExternalQuery. Никаких других требований к рабочей книге-шаблону не выдвигается.
В примере показан запрос на таблицу AGNLIST (провайдер Oracle), показывающий как простой перенос данных, так и сводную таблицу со сводной диаграммой распределения записей таблицы по полю CRN.
Пример запроса с шаблонами
В примере показан запрос на таблицу "TField" (провайдер Мельницы Данных), показывающий как простой перенос данных, так и сводную таблицу со сводной диаграммой распределения записей таблицы.
Пример запроса с шаблонами для Мельницы Данных`

1. Интерфейс IExternalQuery
Объект, реализующий этот интерфейс, передается в макрос генерации отчета Excel (Template). Все его свойства и методы доступны для испоьзования в процессе генерации отчета
  IExternalQuery = interface(IDispatch)
    ['{1A86D1DA-A56E-4D53-88F9-7A035D7D12B4}']
    function Select(const SQL: WideString): IExternalDataSet; safecall;
    function SelectedRecordsCount: Integer; safecall;
    function SelectedRecord(Index: Integer): OleVariant; safecall;
    procedure PlaceCurrentQuery(const Sheet: IDispatch;
      CaptionsNeeded: WordBool = False; Row: Integer = 1;
      Column: Integer = 1; ShiftRows: WordBool = True;
      ShiftColumns: WordBool = False); safecall;
    procedure PlaceQuery(const Sheet: IDispatch; const DataSet: ExternalDataSet;
      Row: Integer = 1; Column: Integer = 1; ShiftRows: WordBool = True;
      ShiftColumns: WordBool = False); safecall;
    property CurrentQuery: WideString;
  end;
  • функция Select возвращает объект, реализующий интерфейс IExternalDataSet с данными, полученными в результате запроса, заданного параметром SQL. Фактически метод является оберткой метода Perform объекта-провайдера IInfoProvider
  • функция SelectedRecordsCount возвращает количество записей, отмеченных пользователем в гриде в момент выгрузки в Excel
  • функция SelectedRecord возвращает первичный ключ отмеченной пользователем записи с номером Index
  • процедура PlaceCurrentQuery осуществляет перенос в указанное положение указанного рабочего листа данных текущего табличного представления. Параметр Sheet указывает на рабочий лист Excel, на который будет осуществляться перенос, параметр CaptionsNeeded определяет необходимость переноса заголовков колонок, параметры Row и Column определяют соответственно номер строки и столбца на рабочем листе Excel, начиная с которых будут расположены данные. Параметр ShiftRows определяет необходимость сдвига строк вниз при переносе данных (информация в ячейках, лежащих НИЖЕ строки, определенной параметром Row, будет либо затерта, либо сдвинута на требуемое число строк вниз. Параметр ShiftColumns определяет необходимость сдвига колонок вправо при переносе данных (информация в ячейках, лежащих ПРАВЕЕ столбца, определенного параметром Column, будет либо затерта, либо сдвинута на требуемое число строк вниз.
  • процедура PlaceQuery осуществляет перенос в указанное положение указанного рабочего листа данных заданного параметром DataSet набора данных. Параметр Sheet указывает на рабочий лист Excel, на который будет осуществляться перенос, параметр CaptionsNeeded определяет необходимость переноса заголовков колонок, параметры Row и Column определяют соответственно номер строки и столбца на рабочем листе Excel, начиная с которых будут расположены данные. Параметр ShiftRows определяет необходимость сдвига строк вниз при переносе данных (информация в ячейках, лежащих НИЖЕ строки, определенной параметром Row, будет либо затерта, либо сдвинута на требуемое число строк вниз. Параметр ShiftColumns определяет необходимость сдвига колонок вправо при переносе данных (информация в ячейках, лежащих ПРАВЕЕ столбца, определенного параметром Column, будет либо затерта, либо сдвинута на требуемое число строк вниз.
  • свойство CurrentQuery возвращает строку запроса, на основе которого постоено текущее табличное представление.

2. Интерфейс IExternalDataSet
Фактически, обертка над интерфейсом IDataSet .
  IExternalDataSet = interface(IDispatch)
    ['{CDC7992C-BB30-431C-9F81-3215175AD5AB}']
    procedure Next; safecall;
    function Eof: WordBool; safecall;
    property FieldCount: Integer;
    property FieldName[Index: Integer]: WideString;
    property Field[FieldIndex: OleVariant]: OleVariant;
  end;
Набор данных представляет собой однонаправленный курсор, каждая строка которого является набором именованных и нумерованных полей.
  • процедура Next осуществляет переход к следующей записи курсора.
  • функция Eof возвращает True в случае достижения конца курсора.
  • свойство FieldCount возвращает количество полей в строке курсора.
  • свойство FieldName возвращает имя поля с номером Index.
  • свойство Field возвращает значение поля, имя или номер которого задан параметром (если строка, то имя, если число, то номер). Допустимо возвращать значение Null для пустых полей.


Мельница данных ((раздел целиком))

Мельница данных- Интеграция (раздел целиком) (23.04.2022) (одним файлом)
Интеграция

Интеграция - комплекс работ по настройке механизмов взаимодействия между различными учетными системами, которые функционируют независимо друг от друга в одной организационной структуре ("лоскутная" автоматизация).

Концептуально реализация интеграции может быть осуществлена двумя способами (рассмотрены более подробно далее):

  • Интеграция на базе интеграционной платформы (некоего ядра, которое осуществляет взаимодействие между учетными системами)
  • Интеграция без внедрения интеграционной платформы, с использованием связей между учетными системами только там где это необходимо.

Практически, реализация интеграции может быть осуществлена слежующими способами:

1. Интеграция данных

В свою очередь интеграцию данных можно разделить на два типа:

1.1. Репликативная интеграция

Репликативная интеграция - передающая сторона формирует реплику, передает ее принимающей стороне, которая в свою очередь загружает в себя реплику. В этом случае стандартами формата реплики являются двоичный формат и XML-схема. Платформа Мельница Данных имеет готовые механизмы для реализации обоих форматов.

Варианты реализации репликационной интеграции:

1. Данные должны быть переданы из сторонней учетной системы и загружены в Платформу Мельница данных:

В Платформе уже реализованы механизмы загрузки реплик в двоичном (бинарном) формате, а также в формате XML-схемы. В случае, если разработчики или сопровождающие сотрудники сторонней учетной системы имеют возможность выгрузки реплики в данных форматах, взаимодействие производится стандартными средствами Платформы. В противном случае создается конвертер для перевода данных реплики в один из стандартных форматов для дальнейшей загрузки реплики в Мельницу Данных.

2. Данные должны быть переданы из Платформы Мельница Данных и загружены в стороннюю учетную систему:

При необходимости выгрузки данных из Платформы Мельница Данных используются стандартные механизмы выгрузки реплики в двоичном (бинарном) формате или в формате XML-схемы. В случае, если эти варианты не являются приемлемыми для принимающей стороны (сторонней учетной системы), можно выполнить выгрузку данных через скриптлет, Microsoft Excel-файл, отчет или любыми механизмами просто выгрузить требуемый файл для дальнейшей обработки (загрузки) принимающей стороной. В этом случае необходимо четкое согласование протоколов и форматов обмена данными.

3. Данные должны быть переданы из одной сторонней учетной системы в другую. При этом Платформа Мельница Данных выступает в качестве интеграционной платформы:

МД - интеграционное ядро

Если Платформа выступает в качестве интеграционного ядра, в ней необходимо объявить структуры для хранения тех элементов данных, которые в Платформе по умолчанию не хранятся, но загружаются в нее из сторонних учетных систем и в дальнейшем подлежат какому-либо анализу. При этом нет необходимости обеспечивать функционирование бизнес-процессов над этими данными в рамках Платформы, данные просто хранятся.

Подобная интеграция осуществляется простыми готовыми средствами платформы в самые сжатые сроки.

1.2. On-Line доступ

Второй путь интеграции данных - Интеграция с использованием доступа к данным в режиме On-Line.

1. В том случае когда Платформа является серверной стороной, то есть стороной-поставщиком данных для других систем, возможны следующие варианты предоставления данных:

- СУБД, то есть база данных, которая хранит все данные Платформы. На данный момент поддерживаются Oracle, Firebird, MS SQL. Возможна реализация поддержки и других систем управления базами данных. Для указанных баз данных доступны стандартные протоколы доступа, с помощью которых осуществляются запросы к данным Платформы непосредственно. Запросы формируются при помощи стандартизированного языка запросов Structured Query Language (SQL).

- RESTful-сервис используется для реализации более сложной механики предоставления доступа к данным и входит в состав поставки сервера приложений Платформы. С его помощью, в частности, осуществляется удаленный доступ и доступ к данным через SOAP (Simple Object Access Protocol — простой протокол доступа к объектам) с автоматическим формированием по данным Платформы WSDL-документа, описывающего сервисы. Таким образом реализуется продвинутый функционал по отбору объекта по критериям, а также в части доступа ко всем данным Платформы по протоколу SOAP/

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

Практический пример реализации:

Компания "Мельница технологий" в одном из московских ВУЗов осуществяла интеграцию с тестирующей системой по проведению олимпиад. С использованием протокола SOAP в тестирующую систему из Платформы предоставлялась информация о реквизитах олимпиад, которые были выбраны каждым школьником-участником. Был реализован обработчик-"переходник", через который передавалсь информация.

Для системы LMS (Learning Management System) компании Asteros данные также предоставляются по протоколу SOAP.

2. В случае когда Платформе необходим доступ к данным сторонних систем, используется готовый RESTful-"обработчик". Частными случаями данной ситуции являются взаимодействия Платформы с различными собственными web-приложениями, а также с "Обозревателем данных", работающим через удаленный доступ.

Для получения данных в режиме On-Line от сторонних систем используются те же стандартные протоколы. При необходимости создаются "обработчики", которые отображают для конечного пользователя в визуальных формах Платформы данные, полученные из сторонних систем.

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

2. Интеграция функций
Данный тип развития интеграции в свою очередь можно разделить на 2 пути:

2.1. Взаимные вызовы

В данном случае подразумевается, что какая-либо учетная система открывает возможность вызова своих встроенных функций из сторонних систем.

Доступ к функциям возможен с помощью выполнения хранимых процедур (каждое бизнес-действие, которое производит пользователь, обязательно оформляется в виде хранимой процедуры на уровне СУБД Платформы). Процедуру можно вызывать, получив доступ к СУБД. Аналогично тому, как создаются select-запросы, запросы к данным, можно делать запросы, вызывающие бизнес-функции. Все методы, отчеты, и все, что доступно пользователю, может быть вызвано и через RESTful-сервис. При этом методы будут выполняться, отчеты будут формироваться в виде Excel, Word, PDF, HTML, в соответствии с запросом вызывающей стороны. Данный функционал обеспечивается готовым "обработчиком", входящим в состав поставки Платформы.

С помощью протокола SOAP можно вызывать любой метод любого объекта, получать результаты его выполнения без ограничений.

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

Пример реализации:

В ВУЗе при формировании приказа о зачислении студента в Платформе, также автоматически создается объект "Приказ" в системе документооборота ВУЗа. В дальнейшем, передвижение приказа по маршруту согласования в решении на Платформе аналогично отображается в системе документооборота.

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

2.2. Встраивание

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

Существуют разные способы реализации данного пути:

- В open-source системах, как правило, слой доступа к данным вынесен в некий отдельный модуль. Характерный пример - это LMS eFront. Это Open-Source разработка, содержащая в себе большой объем php-кода, с развитым web-интерфейсом, и, в том числе, содержащая модуль доступа к данным. В процессе работы создается база MySQL база достаточно примитивной структуры. В этом случае можно изменить модуль доступа, так, чтобы вместо запросов к MySQL-базе механика делала бы запросы к базе данных Платформы. Тогда исполнение php-кода, его интерпретация происходит в рамках сервера приложений Платформы.

Пример реализации:

Так как в базе данных Платформы уже хранятся данные о студентах, преподавателях, курсах и т.д., то при взаимодействии с системой обучения LMS, естественным, удобным и надежным решением является хранение все этих данных в одной базе данных

- В тех случаях, когда решения Платформы сами являются частью какой-либо более общей системы, и должны предоставлять свои функции, то это решается на уровне СУБД. То есть, сгенерированный Платформой прикладной код (код на соответствующем диалекте SQL) может быть интегрирован в код более масштабного хранилища, функционировать там, исполняться там, если в этом есть необходимость.

Прикладные системы на базе СУБД Teradata позволяют использовать PL/SQL-код для каких-либо наборов данных, притом, что сама база гораздо имеет продвинутые возможности автоматического контроля версий, хроникальности, аналитики.


Мельница данных ((раздел целиком))

Мельница данных- Класс TEnumerationDomain (Перечисления) (раздел целиком) (23.04.2022) (одним файлом)
Класс TEnumerationDomain (Перечисления)
Унаследован от класса TDomain (Домены) . Объекты могут включать в себя объекты классов:
  • TEnumerationItem (Элементы перечислений)

1. Конструктор TEnumerationDomain.Create (Конструктор перечисления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
ShowNames (Показывать имена элементов) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TEnumerationDomain (Перечисления) .

2. Поле TEnumerationDomain.FShowNames (Показывать имена)
FShowNames: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TEnumerationDomain.ShowNames (Показывать имена)
.

3. Свойство TEnumerationDomain.ShowNames (Показывать имена)
ShowNames: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TEnumerationDomain.FShowNames (Показывать имена) .


Мельница данных ((раздел целиком))

Мельница данных- Интерфейс ITableInfo (раздел целиком) (23.04.2022) (одним файлом)
Интерфейс ITableInfo
Информация о таблице представляется объектом через интерфейс (наследник INamedItemInfo )
  ITableInfo = interface(INamedItemInfo)
    ['{3FC1998A-9031-4936-82B5-8CAA2219085E}']
    function Get_FieldCount: Integer; safecall;
    function Get_Field(Index: Integer): IFieldInfo; safecall;
    function Get_PrimaryKey: IFieldInfo; safecall;
    function Get_Uplink: IFieldInfo; safecall;
    function Get_Parent: ITableInfo; safecall;
  end;
  • функция Get_FieldCount возвращает количество полей в таблице.
  • функция Get_Field возвращает ссылку на поле с номером Index. Ссылка на интерфейс IFieldInfo
  • функция Get_PrimaryKey возвращает ссылку на поле, являющееся первичным ключем. Это поле должно быть задано.
  • функция Get_Uplink возвращает ссылку на поле, осуществляющее иерархическую связь между записями таблицы. Если это поле задано, записи отображаются в виде иерархии.
  • функция Get_Parent возвращает ссылку на родительскую таблицу. Дочерняя таблица связана с родительской первичными ключами, т. е. соотношением 1:1. Если таблица не имеет родительской, возвращается nil.

1. Интерфейс ITableInfo2
Для таблиц, имеющих полиморфные ссылки, реализуется интерфейс (наследник ITableInfo )
  ITableInfo2 = interface(ITableInfo)
    ['{9DF4C8AC-1DA2-4E7B-BF44-7EDD7A269418}']
    function Get_PolymorphCount: Integer; safecall;
    function Get_PolymorphTable(Index: Integer): ITableInfo; safecall;
    function Get_PolymorphField(Index: Integer): IFieldInfo; safecall;
  end;
Полиморфной ссылкой является, например, ссылка, физически размещенная в родительской таблице, указывающая на свою запись. Реализация этого интерфейса не является обязательной.
  • функция Get_PolymorphCount возвращает количество полиморфных ссылок.
  • функция Get_PolymorphTable возвращает ссылку на таблицу, на которую указывает полиморфная ссылка номер Index.
  • функция Get_PolymorphTable возвращает ссылку на поле, реализующее полиморфную ссылку номер Index. Это поле должно иметь тип dtReference, информация о его типе должна реализовать интерфейс IReferenceInfo. Значение, возвращаемое функцией Get_TargetTable этого интерфейса в данном случае не имеет значения и игнорируется.

2. Интерфейс ITableInfo3
Для таблиц, при запросах к которым требуется наложение дополнительных условий отбора, реализуется интерфейс (наследник ITableInfo )
  ITableInfo3 = interface(ITableInfo)
    ['{3FB73AA9-010C-48DA-81C7-E1DCFE2E6136}']
    function GetPersistentClause(const Alias: WideString): WideString; safecall;
    function GetPreConditionsCount: Integer; safecall;
    function GetPreConditionCaption(Index: Integer): WideString; safecall;
    function GetPreConditionCategory(Index: Integer): WideString; safecall;
    function Get_ActivePreCondition(Index: Integer): WordBool; safecall;
    procedure Set_ActivePreCondition(Index: Integer; Value: WordBool); safecall;
    function GetPreConditionParamsCount(Index: Integer): Integer; safecall;
    function GetPreConditionParam(Index: Integer; PreConditionIndex: Integer): IOptionInfo; safecall;
  end;
  • функция GetPersistentClause возвращает выражение дополнительного условия отбора. Алиас таблицы передается в параметре Alias.


Мельница данных ((раздел целиком))

Мельница данных- Класс TObjectListItem (Элементы списков) (раздел целиком) (23.04.2022) (одним файлом)
Класс TObjectListItem (Элементы списков)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TObjectList (Списки) .

1. Конструктор TObjectListItem.Create (Конструктор элемента списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TObjectListItem (Элементы списков) .

2. Поле TObjectListItem.FObject (Объект)
FObject: TObject domain (Объект) .

3. Поле TObjectListItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .


Мельница данных ((раздел целиком))

Мельница данных- Использование провайдера БД Парус8 (раздел целиком) (23.04.2022) (одним файлом)
Использование провайдера БД Парус8

1. Использование пользовательских приложений.
Библиотека ParusInfoProvider.dll содержит реализацию провайдера для БД Парус8. Провайдер реализует, в дополнение к обязательным, интерфейс, позволяющий управлять им посредством механизма "Пользовательских приложений":
  IParusProvider = interface(IDispatch)
    ['{4864AE99-80E6-4FC6-9DB0-EAB248F72362}']
    procedure Connect(const Database: WideString;
      const UserName: WideString;
      const Password: WideString); safecall;
    property QueryObject: OleVariant;
    property StoredProcObject: OleVariant;
  end;
Объект-провайдер может установить связь с БД либо самостоятельно с использованием переданных в метод Connect параметров соединения, либо с помощью объектов Query и StoredProc , предоставляемых системой Парус8 для использования в пользовательских приложениях. В свою очередь, созданный провайдер с установленным соединением может быть передан в метод Execute объекта QueryBuilder.Application . Вторым параметром может быть передано значение, представляющее структуру запроса. Это может быть либо строка с указанием имени файла, либо объект, реализующий интерфейс IStream (например, MSXML.DOMDocument ), либо строка, представляющая собой xml-документ. Все средства манипуляции структурой и поведением запроса предоставляются на уровне работы с xml-документом, описывающим запрос.
Пример скрипта пользовательского приложения на DelphiScript

procedure QueryBuilderTest;
var
  LApplication: OleVarint;
  LProvider: OleVarint;
  LDocument: OleVariant;
begin
  //описание структуры запроса. Из BLOB, из файла, из строки - откуда угодно
  LDocument := CreateOleObject('MSXML.DOMDocument');
  //LDocument реализует IXMLDOMDocument и IStream
  LDocument.loadXML('<Query Provider="{B3079C97-6EBC-43EB-880F-58F094B322B0}">' +
    '<Item Type="Table" Table="AGNLIST" Alias="MAIN" TableAlias="MAIN">'  +
      '<Item ColumnIndex="0" Type="Field" Field="AGNABBR" Table="AGNLIST" ' +
        'Alias="MAIN_AGNABBR" TableAlias="MAIN"/>' +
      '<Item ColumnIndex="1" Type="Field" Field="VERSION" Table="AGNLIST" ' +
        'Alias="MAIN_VERSION" TableAlias="MAIN"/>' +
    '</Item>' +
  '</Query>');

  //Скрытие дерева структуры
  LDocument.documentElement.setAttribute('TreeWidth', 0);

  //Наложение условий отбора на колонку
  LDocument.selectSingleNode('/*/Item/Item[@Field="AGNABBR" and @Table="AGNLIST"]').
    setAttribute('ColumnFilter', 'Б*');

  //Переименование колонки
  LDocument.selectSingleNode('/*/Item/Item[@Field="VERSION" and @Table="AGNLIST"]').
    setAttribute('Caption', 'Версия');

  //создание провайдера и передача ему объектов для соединения с БД
  LProvider := CreateOleObject('ParusInfoProvider.ParusProvider');
  LProvider.QueryObject := Query;
  LProvider.StoredProcObject := StoredProc;

  //создание и использование объекта-приложения QueryBuilder
  LApplication := CreateOleObject('QueryBuilder.Application');

  //В качестве второго параметра передается ОБЪЕКТ, через
  //   IStream содержащий структуру запроса
  LApplication.Execute(LProvider, LDocument);
  LApplication.Visible := True;

  //Ожидание завершения работы с приложением
  repeat
    Application.ProcessMessages;
  until not LApplication.Visible;

end;
Интерфейс автоматизации поддерживает также метод для автоматического применения шаблона для переноса в Excel.
Допустим, .MQR-файл, описывающий запрос, содержащий шаблон с именем "Простой Перенос" загружен в раздел "Модули пользовательских приложений" с мнемокодом "QueryData". Для этого необходимо создать модуль пользовательского приложения с типом "COM-сервер" или "Надстройка Excel" и загрузить из файла .MQR-файл. Проверки соответствия формата загружаемого файла заявленному типу модуля пользовательского приложения Парус не производит, что позволяет воспользоваться этим трюком. Тогда:
procedure QueryBuilderTemplateTest;
var
  LApplication: OleVarint;
  LProvider: OleVarint;
  S: string;
begin
  Query.SQL.Text := 'select BMODULE from V_UAMODULES where SCODE = :CODE';
  //мнемокод модуля пользовательского приложения, содержащего
  //загруженный .MQR-файл
  Query.ParamByName('CODE').Value := 'QueryData';
  Query.Open;
  S := Query.FieldByName('BMODULE').AsString;
  Query.Close;

 //создание провайдера и передача ему объектов для соединения с БД
  LProvider := CreateOleObject('ParusInfoProvider.ParusProvider');
  LProvider.QueryObject := Query;
  LProvider.StoredProcObject := StoredProc;

  //создание и использование объекта-приложения QueryBuilder
  LApplication := CreateOleObject('QueryBuilder.Application');

  //В качестве второго параметра передается СТРОКА, содержащая xml с описанием
  //структуры запроса и шаблоны для переноса в Excel
  LApplication.ExecuteTemplate(LProvider, S, 'Простой Перенос');
end;

2. Информация о базе данных
Провайдер Парус8 предоставляет информацию о четырех типах таблиц:
  1. Представление, описанное при помощи метаданных Парус8 как "вызываемое с клиента". В этом случае полями таблицы являются описанные атрибуты класса с соответствующими типами.
  2. Таблица, имеющая клиентский доступ и связанная с разделом, не имеющим ни одного описанного доступного представления, но имеющим описанные физические атрибуты. Информация о полях берется из метаданных Парус8
  3. Таблица, имеющая клиентский доступ и связанная с разделом, не имеющим ни одного описанного доступного представления, и не имеющим описанных атрибутов. Информация о полях берется из метаданных Oracle.
  4. Таблица, имеющая клиентский доступ и не связанная ни с каким разделом. Информация о полях берется из метаданных Oracle.


Мельница данных ((раздел целиком))

Мельница данных- Класс TFileNameDomain (Имена файлов) (раздел целиком) (23.04.2022) (одним файлом)
Класс TFileNameDomain (Имена файлов)
Унаследован от класса TStringDomain (Строковые) .

1. Конструктор TFileNameDomain.Create (Конструктор имени файла)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) | Унаследован | Доступен |
FileMustExist (Файл должен существовать) | Boolean (Обычное логическое) |  | Доступен |
DefaultExtension (Расширение по умолчанию) | TFileExtension (Расширение имени файла) |  | Доступен |
OverwritePrompt (Запрос перезаписи) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TFileNameDomain (Имена файлов) .

2. Поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию)
FDefaultExtension: TFileExtension (Расширение имени файла) .

Используется для хранения значений свойства TFileNameDomain.DefaultExtension (Расширение по умолчанию)
.

3. Поле TFileNameDomain.FFileMustExist (Файл должен существовать)
FFileMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFileNameDomain.FileMustExist (Файл должен существовать)
.

4. Поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи)
FOverwritePrompt: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFileNameDomain.OverwritePrompt (Запрос перезаписи)
.

5. Процедура TFileNameDomain.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

6. Свойство TFileNameDomain.DefaultExtension (Расширение по умолчанию)
DefaultExtension: TFileExtension (Расширение имени файла) .

Для чтения и записи свойства используется поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию) .

7. Свойство TFileNameDomain.FileMustExist (Файл должен существовать)
FileMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFileNameDomain.FFileMustExist (Файл должен существовать) .

8. Свойство TFileNameDomain.OverwritePrompt (Запрос перезаписи)
OverwritePrompt: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи) .


Мельница данных ((раздел целиком))

Мельница данных- Интеграция данных (раздел целиком) (23.04.2022) (одним файлом)
Интеграция данных

В свою очередь интеграцию данных можно разделить на два типа:

1. Репликативная интеграция

Репликативная интеграция - передающая сторона формирует реплику, передает ее принимающей стороне, которая в свою очередь загружает в себя реплику. В этом случае стандартами формата реплики являются двоичный формат и XML-схема. Платформа Мельница Данных имеет готовые механизмы для реализации обоих форматов.

Варианты реализации репликационной интеграции:

1. Данные должны быть переданы из сторонней учетной системы и загружены в Платформу Мельница данных:

В Платформе уже реализованы механизмы загрузки реплик в двоичном (бинарном) формате, а также в формате XML-схемы. В случае, если разработчики или сопровождающие сотрудники сторонней учетной системы имеют возможность выгрузки реплики в данных форматах, взаимодействие производится стандартными средствами Платформы. В противном случае создается конвертер для перевода данных реплики в один из стандартных форматов для дальнейшей загрузки реплики в Мельницу Данных.

2. Данные должны быть переданы из Платформы Мельница Данных и загружены в стороннюю учетную систему:

При необходимости выгрузки данных из Платформы Мельница Данных используются стандартные механизмы выгрузки реплики в двоичном (бинарном) формате или в формате XML-схемы. В случае, если эти варианты не являются приемлемыми для принимающей стороны (сторонней учетной системы), можно выполнить выгрузку данных через скриптлет, Microsoft Excel-файл, отчет или любыми механизмами просто выгрузить требуемый файл для дальнейшей обработки (загрузки) принимающей стороной. В этом случае необходимо четкое согласование протоколов и форматов обмена данными.

3. Данные должны быть переданы из одной сторонней учетной системы в другую. При этом Платформа Мельница Данных выступает в качестве интеграционной платформы:

МД - интеграционное ядро

Если Платформа выступает в качестве интеграционного ядра, в ней необходимо объявить структуры для хранения тех элементов данных, которые в Платформе по умолчанию не хранятся, но загружаются в нее из сторонних учетных систем и в дальнейшем подлежат какому-либо анализу. При этом нет необходимости обеспечивать функционирование бизнес-процессов над этими данными в рамках Платформы, данные просто хранятся.

Подобная интеграция осуществляется простыми готовыми средствами платформы в самые сжатые сроки.

2. On-Line доступ

Второй путь интеграции данных - Интеграция с использованием доступа к данным в режиме On-Line.

1. В том случае когда Платформа является серверной стороной, то есть стороной-поставщиком данных для других систем, возможны следующие варианты предоставления данных:

- СУБД, то есть база данных, которая хранит все данные Платформы. На данный момент поддерживаются Oracle, Firebird, MS SQL. Возможна реализация поддержки и других систем управления базами данных. Для указанных баз данных доступны стандартные протоколы доступа, с помощью которых осуществляются запросы к данным Платформы непосредственно. Запросы формируются при помощи стандартизированного языка запросов Structured Query Language (SQL).

- RESTful-сервис используется для реализации более сложной механики предоставления доступа к данным и входит в состав поставки сервера приложений Платформы. С его помощью, в частности, осуществляется удаленный доступ и доступ к данным через SOAP (Simple Object Access Protocol — простой протокол доступа к объектам) с автоматическим формированием по данным Платформы WSDL-документа, описывающего сервисы. Таким образом реализуется продвинутый функционал по отбору объекта по критериям, а также в части доступа ко всем данным Платформы по протоколу SOAP/

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

Практический пример реализации:

Компания "Мельница технологий" в одном из московских ВУЗов осуществяла интеграцию с тестирующей системой по проведению олимпиад. С использованием протокола SOAP в тестирующую систему из Платформы предоставлялась информация о реквизитах олимпиад, которые были выбраны каждым школьником-участником. Был реализован обработчик-"переходник", через который передавалсь информация.

Для системы LMS (Learning Management System) компании Asteros данные также предоставляются по протоколу SOAP.

2. В случае когда Платформе необходим доступ к данным сторонних систем, используется готовый RESTful-"обработчик". Частными случаями данной ситуции являются взаимодействия Платформы с различными собственными web-приложениями, а также с "Обозревателем данных", работающим через удаленный доступ.

Для получения данных в режиме On-Line от сторонних систем используются те же стандартные протоколы. При необходимости создаются "обработчики", которые отображают для конечного пользователя в визуальных формах Платформы данные, полученные из сторонних систем.

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


Мельница данных ((раздел целиком))

Мельница данных- Операторы PascalScript (раздел целиком) (23.04.2022) (одним файлом)
Операторы PascalScript

Операторы разделяются точкой с запятой (;). Операторы могут быть одним из следующих:

1. Составной оператор
begin
  //Другие операторы
end
Операторы, размещенные внутри составного оператора, разделяются точкой с запятой. Никаких ограничений на состав операторов и количество уровней вложенности не накладывается.
begin
  Result := LCurrentValue;
  Exit;
end;

2. Оператор присваивания
Выражение1 := Выражение2

Присваивает значение выражения Выражение2 выражению Выражение1. Типы Выражения1 и Выражения2 должны быть совместимы (совпадать по классу домена либо оба быть числовыми). Для этого на Выражение1 (стоящее слева от знака равенства, lvalue) накладывается ряд ограничений. Это выражение должно быть:

  • Полем или свойством экземпляра класса
  • Локальной переменной
  • Параметром
  • Зарезервированной переменной Result
LObject.Name := 'Новое имя';
Result := 25;
LStartTime := StrToDateTime('01.01.2006 00:00:30');
var
  LObject: TObject;
  LClass: TClass;
  I: Integer;
  F: Float;
begin
  I := F;  //неверно
  F := I;  //верно
  LObject := LClass; //верно
  LClass := LObject; //неверно. Должно быть LClass := (LObject as TClass);
end;

3. Оператор вызова
ИмяПроцедуры [(Параметр1, Параметр2 ...)]

"ИмяПроцедуры" должно быть:

  • Именем метода класса и вызываться с указанием класса либо экземпляра;
  • Именем метода экземпляра и вызываться с указанием экземпляра;
  • Именем метода своего класса либо предка и вызываться без указания спецификаторов.
Порядок и количество параметров в операторе вызова должны строго совпадать с описанием метода.

  //метод класса, указан класс
  LList := TObjectList.Create(Name, Description, TObjectList, nil, nil, Folder);

  //метод экземпляра, указан экземпляр. Метод не имеет параметров.
  LList.Destroy;

  //свой либо унаследованный метод
  BuildDefaultActions(Name, True);

4. Оператор ветвления
if Выражение then
  //Оператор1
[else
  //Оператор2]

Выражение должно быть логического типа. В случае если значение Выражения истинно, выполняется Оператор1. Часть else является необязательной и относится к последнему оператору if, не имеющему таковой. В случае ее наличия Оператор2 выполняется, если значение Выражения ложно.

if LIndex > 25 then
  raise 'Индекс слишком большой.';

if LMonth = 'январь' then
  January
else if LMonth = 'февраль' then
  February
else
  OtherMonth;  //обратите внимание на точки с запятой.

5. Оператор выбора
case Выражение of
  Значение1: //Оператор1
  Значение2: //Оператор2
  ...
[else
  //Оператор ]
end

Заменяет каскад операторов if. Значение Выражения должно быть числового типа. Часть else выполняется в случае, если Выражение не равно ни одному из перечисленных вариантов. Эта часть не является обязательной.

сase LIndex of
  0: ZeroIndex;
  1,2,3: SmallIndex;
  4,5,6,7,8,9,10: BigIndex;
else
  raise 'Слишком большой или отрицательный индекс.';
end;

6. Цикл с предусловием
while Выражение do
  //Оператор

Оператор выполняется до тех пор, пока значение Выражения истинно. Выражение должно быть логического типа. Если при входе в цикл Выражение не истинно, то тело цикла не будет выполнено ни одного раза.

while LList.Count > 0 do
  LList.GetItem(0).Destroy;

while True do
begin
  LValue := LValue.NextValue;
  if LValue.Value > 10 then
  begin
    Result := LValue.Value;
    exit;
  end;
end;

7. Цикл с постусловием
repeat
  //Операторы
until Выражение

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

repeat
  Result := Result + 1;
  LObject := LObject.Parent;
until LObject = nil;

8. Цикл с параметром
for Параметр := Выражение1 (to|downto) Выражение2 do
  //Оператор

Параметр цикла обязан быть простой локальной переменной. Функционально цикл с параметром эквивалентен циклам:

  • Для формы to
    Параметр := Выражение1;
while Параметр <= Выражение2 do
    begin
  Оператор;
  Параметр :=  Параметр + 1;
end;
  • Для формы downto
    Параметр := Выражение1;
while Параметр >= Выражение2 do
    begin
  Оператор;
  Параметр :=  Параметр - 1;
end;
Если Выражение1 равно Выражению2, тело цикла будет выполнено один раз.

for I := LList.Length - 1 downto 0 do
// если LList.Length = 0, тело цикла ни разу не будет выполнено.
begin
  LClass := LList.GetItem(I);
  LMethod := any(TMethod with (Name = LName) and (Master = LClass));
  LParamList.Add(any(TMethod with (Name = LName) and (Master = LClass)));
end;

9. Цикл по экземплярам
for each Параметр of ИмяКласса [with Выражение]
       [by [-] Выражение [, [-] Выражение]] do
         //Оператор

Цикл осуществляется по выборке среди экземпляров класса ИмяКласса, для которых истинно Выражение. Если Выражение не задано, то по всем экземплярам. Ссылка на текущий в рамках цикла экземпляр присваивается в локальную переменную Параметр. Выражение должно определяться относительно переменной Параметр. Выраженния, следующие за ключевым словом by, определяют порядок обхода экземпляров. Знак "-" перед выражением (любого типа) определяет обратный порядок обхода.

for each LOption of TOption with LOption.Domain.Required do
    // для каждой настройки, домен которой обязателен
  LOption.SetDefaultValue;

10. Оператор прекращения цикла
break

Происходит немедленный выход из цикла. Выполняется финализация операторов защиты завершения, которыми защищено тело цикла. Допустим только в теле цикла с предусловием, цикла с постусловием, цикла с параметром или цикла по экземплярам.

11. Оператор выхода из подпрограммы
exit

Происходит немедленный выход из программного блока. Выполняется финализация операторов защиты завершения.

12. Оператор защиты завершения
try
  //Операторы1
finally
  //Операторы2
end

Выполняются операторы Операторы1, разделенные точкой с запятой. В случае возникновения исключительной ситуации управление сразу передается на Операторы2, и после их выполнения исключение остается активным. Если исключения не произошло, выполняются Операторы2. Если среди Операторов1 встречается оператор exit, то Операторы2 все равно выполняются.

//создание временного объекта-списка
LList := TObjectList.Create(Name, Description, TObjectList, nil, nil, Folder);
try
  LList.Add(LValue);
  Exit;
finally
  //гарантированное уничтожение созданного объекта независимо от исключений.
  LList.Destroy;
end;

13. Оператор обработки исключительных ситуаций
try
  //Операторы1
except
  //Операторы2
end

Выполняются операторы Операторы1. В случае возникновения исключительной ситуации управление передается на Операторы2. Если исключительных ситуаций не возникло, Операторы2 не выполняются никогда. При передаче управления на Операторы2 исключительная ситуация деактивирована. Для ее повторного возбуждения можно воспользоваться оператором возбуждения исключения без указания текстовой строки сообщения.

try
  LObject.NeverTouch := True;
  LObject.ExecuteCoolMethod; //если метод выполнен неудачно
except
  LObject.NeverTouch := True;  //установить флаг и ничего не сообщать пользователю.
end;

try
   LObject.ExecuteCoolMethod; //если метод выполнен неудачно
except
   LObject.Destroy; //удалить неудачный объект
   raise;           // продолжить обработку исключения.
end;

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

15. Оператор унаследованного вызова
inherited

Работает только в унаследованном переопределенном методе. Вызывается метод предка с параметрами, заданными в параметрах к моменту вызова. Если программный блок представляет собой тело функции, то в псевдопеременной Result будет результат выполнения метода предка.

// в теле конструктора
Name := 'Object name';
Description := 'Object description';
inherited; //вызов предка с параметрами Name и Description,
           //заданными двумя предыдущими операторами. Ссылка на
           //созданный объект лежит в
           //псевдопеременной Result
Result.Name := 'New name';


Мельница данных ((раздел целиком))

Мельница данных- Создание шаблонов PDF-отчетов (раздел целиком) (23.04.2022) (одним файлом)
Создание шаблонов PDF-отчетов

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.

Все размеры графических объектов, размеры страниц, шрифтов и т.п. по умолчанию заданы в миллиметрах.
Для удобства построения шаблона PDF-документа создана функция DrawGrid. При ее включении при отладке при создании шаблона будет отображена визуальная сетка с шагом 5 миллиметров.

2. Методы

2.1. Свойства документа

Для создания и описания свойств PDF-документа в библиотеке PDFCreator.dll используется класс IPDFDocument, обладающий следующими свойствами:

  • Title (WideString) - заголовок документа. По умолчанию - пустая строка.
    Title = "DOC1"
  • CanEmbedFonts (WordBool) - Признак возможности построения PDF- документа со встроенными шрифтами (Embedded Fonts). В случае включения признака, все объявленные в скрипте шрифты будут включены в сборку документа и будут передаваться целиком вместе с документом. По умолчанию - False.
    CanEmbedFonts = True

CanEmbedFonts = False
  • CanCompress (WordBool) - признак сжатия документа при создании по собственным алгоритмам. По умолчанию - True.
    CanCompress = False

CanCompress = True
  • Author (WideString) - автор документа. По умолчанию - текущий пользователь ОС.
  • Subject (WideString) - описание документа. По умолчанию - пустая строка.
  • Keywords (WideString) - ключевые слова для поиска по документу. По умолчанию - пустая строка.
  • Creator (WideString) - приложение-родитель документа. Указывается в том случае, если документ был сконвертирован из другого формата.
  • PageCount (Integer) - свойство, содержащее общее количество страниц в документе.
  • Pages[Index: Integer]: IPDFPage - свойство документа, предназначенное для перебора страниц документа для совершения над ними однотипных действий.

    Пример использования:

    for I = 0 to PageCount - 1
  Pages(I).rectangle 10,10,10,10, false
next
Save "c:\pdf.pdf"

    Результат: На всех страницах документа будут нарисованы квадраты 10х10 мм.
  • procedure Save(Target: OleVariant) - процедура для сохранения документа PDF на жесткий диск сразу после создания.
    Save "c:\pdf.pdf"
    - сохранит документ в файл c:\pdf.pdf

2.2. Свойства страницы

Для создания страницы используется функция

function CreatePage(Parent: OleVariant): IPDFPage;

Параметр Parent указывает страницу-родителя для данной страницы. Если страницы- родителя быть не должно - формат вызова функции примет вид:

set page = CreatePage(Null)

Параметры страницы:

  • Title - заголовок страницы.
    page.Title = "Page name"
  • Width - ширина страницы, миллиметры
    page.Width = 80
  • Height - высота страницы, миллиметры
    page.Height = 80
  • DrawGrid - процедура, выводящая на страницу сетку с шагом 5 миллиметров для удобства отладки вида документа.
  • Perform - процедура, позволяющая выполнить дополнительные команды PostScript на странице.
    page.perform "1 0.7 0 0 k"
    page.perform "0 0 m"

2.2.1. Объявление цвета

Для объявления цвета объектов на странице используется цветовая модель R:G:B (Red:Green:Blue). Объявление цвета для выполнения последующих операций (цвет шрифта, цвет линии/фигуры) осуществляется процедурой

procedure SetColor(R: Integer; G: Integer; B: Integer);
Где параметры R, G, B - значения базисных цветов для выбранного цвета (от 0 до 255).

Цвет | R | G | B |
Белый | 255 | 255 | 255 | +++
Черный | 0 | 0 | 0 | +++
Серый | 190 | 190 | 190 | +++
Синий | 0 | 0 | 255 | +++
Красный | 255 | 0 | 0 | +++
Зеленый | 0 | 255 | 0 | +++

Если предварительно цвет не был объявлен, используется цвет по умолчанию - черный (0,0,0)

2.3. Графика

2.3.1. Линии

Для отрисовки линий используется процедура

procedure Line(X1: Double; Y1: Double; X2: Double; Y2: Double);
Здесь:

  • X1 - координата начала линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y1 - координата начала линии по вертикали в миллиметрах от верхнего левого угла листа.
  • X2 - координата конца линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y2 - координата Конца линии по вертикали в миллиметрах от верхнего левого угла листа.

Для задания толщины линии используется свойство

property LineWidth: Double
Значение толщины задается в миллиметрах. Значение по умолчанию - минимально возможная единица рисования для устройства. Так для монитора - 1 pixel, для принтера - 1 dot (точка)

Для задания стиля отрисовки начала/окончания линии используется свойство property LineCap: TPDFLineCap
Возможные стили:
Значение свойства: | Отображение: | Описание:
0 | Линия 0 | Прямой срез точно по точкам начала и окончания линии (по умолчанию)
1 | Линия 1 | С закруглением
2 | Линия 2 | Прямой срез с продолжением линии на половину толщины линии

Объявление цвета линии.

Две линии разной толщины, с разными окончаниями и цветами:
set page = CreatePage(Null)

page.DrawGrid

page.LineCap = 1

page.LineWidth = 2

page.Line 10, 10, 30, 30

page.LineWidth = 4

page.SetColor 255, 0, 0

page.LineCap = 2

page.Line 10, 30, 30, 10."I

Результат:
2 линии

При необходимости соединения линий под углом в определенной точке можно задать тип соединения. Для объявления типа соединения используется свойство property LineJoin: TPDFLineJoin;
Типы соединения двух линий:
Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пунктир

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

Процедура procedure SetDash(DashArray: OleVariant; Phase: Integer); Здесь DashArray - массив значений в миллиметрах, указывающий последовательность чередования штрихов и пропусков на линии, Phase - смещение в миллиметрах по линии.

Пример 1. Штрих 10 мм, Промежуток 5 мм, Смещения нет
Пример 2. Штрих 10 мм, Промежуток 5 мм, Смещение 5 мм
Пример 3. Различные значения штрихов и промежутков, Смещения нет
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.SetDash Array(10, 5), 0

page.Line 10, 10, 100, 10

page.SetDash Array(10, 5), 5

page.Line 10, 20, 100, 20

page.SetDash Array(10, 5, 3, 2, 12, 20), 0

page.Line 10, 30, 100, 30

Результат:
Пунктир 1

Ломанная линия - здесь непрерывная линия, состоящая из нескольких прямых. Для отображения ломанной используется процедура procedure Poly(Points: OleVariant; Fill: WordBool), где Points - массив координат точек соединяемых прямыми, а Fill - признак заливки полученной замкнутой фигуры (если замкнута).

Пример Звезда без заливки
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), false

Результат:
Звезда
Пример Звезда с заливкой
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), true

Результат:
Звезда заливка

2.3.2. Прямоугольник

Rectangle (Прямоугольник) - для создания используется процедура:

procedure Rectangle(X1: Double; Y1: Double; Width: Double; Height: Double; Fill: WordBool);
Здесь:

  • X1 - координата верхнего левого угла прямоугольника по горизонтали в миллиметрах от верхнего левого угла листа шаблона.
  • Y1 - координата верхнего левого угла прямоугольника по вертикали в миллиметрах от верхнего левого угла листа шаблона.
  • Width - ширина прямоугольника с миллиметрах.
  • Height - высота прямоугольника с миллиметрах.
  • Fill - признак заливки прямоугольника (True/False). Если значение True то заливка производится объявленным заранее цветом (см. Объявление цвета). Если False - заливка не производится. Прямоугольник отрисовывается линиями с предварительно заданной толщиной. См. Линии
Пример 1. Создание красного прямоугольника:
set page = CreatePage(Null)

page.SetColor 255, 0, 0

page.Rectangle 10, 15, 40, 20, True

page.DrawGrid
Результат:
Прямоугольник
Пример 2. Пустой прямоугольник без задания цвета:
set page = CreatePage(Null)

page.DrawGrid

page.Rectangle 12, 17, 42, 25, false

page.DrawGrid

Результат:
Прямоугольник false

Также существует возможность изменения стиля отображения углов прямоугольника. Для этого нужно использовать свойство property LineJoin: TPDFLineJoin;

Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пример построения прямоугольников с различными типами соединения сторон:

set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 4

page.LineJoin = 0

page.Rectangle 10, 10, 20, 10, false

page.LineJoin = 1

page.Rectangle 40, 10, 20, 10, false

page.LineJoin = 2

page.Rectangle 70, 10, 20, 10, false

Результат:
3 прямоугольника

2.3.3. Вставка готовых изображений

Для вставки на создаваемую страницу готового изображения используется процедура procedure Image(const FileName: WideString; X: Double; Y: Double; Width: Double; Height: Double)

Параметры:

  • const FileName - имя файла изображения и путь к нему на жестком диске. Задается в кавычках.
  • X - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по горизонтали в миллиметрах
  • Y - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по вертикали в миллиметрах
  • Width - ширина изображения в миллиметрах
  • Height - высота изображения в миллиметрах.
set page = CreatePage(Null)
page.drawgrid
page.Image "c:\mill.bmp", 10,10, 30, 30

Результат:
Картинка

Вне зависимости от размера исходного изображения, при вставке изображения на создаваемую страницу оно будет растянуто по размерам, прописанным в процедуре.

2.3.4. Векторная графика

Язык PostScript, с помощью которого создаются векторные изображения для PDF-документа, поддерживает создание типичных примитивных объектов, таких как:

  • Прямые и ломанные линии
  • Многоугольники
  • Окружности и эллипсы
  • Кривые Безье
  • Текст

При создании векторного изображения на странице PDF-документа в приложениях Платформы, команды построения примитивных объектов PostScript передаются на исполнение при помощи процедуры Perform. Подробнее об операторах и командах PostScript для создания PDF-документов можно узнать на сайте Adobe

2.4. Шрифты

Шрифты, которые должны использоваться в создаваемом документе, должны быть предварительно объявлены. Для объявления используемых шрифтов используется функция
function CreateFont(const FontName: WideString; Size: Double; Bold: WordBool; Italic: WordBool): IPDFFont; где:

  • const FontName - имя шрифта, аналогичное имени объявляемого шрифта в операционной системе. В Функции объявляется в кавычках.
  • Size - размер шрифта в пунктах
  • Bold - признак начертания шрифта "жирный". Значения - True или False
  • Italic - признак начертания шрифта "курсив". Значения - True или False
Примеры объявления шрифтов:
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)

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

  • procedure WriteLine(const LineText: WideString; X: Double; Y: Double);
    - используется для вывода текстовой строки
  • function WriteText(const AText: WideString; X: Double; Y: Double; Width: Double; Alignment: TPDFTextAlignment): Double;
    - используется для вывода текстового блока.

Параметры для procedure WriteLine :

  • const LineText - текстовая строка для вывода. Прописывается в кавычках. Будет выведена на страницу одной строкой.
  • X - координата верхней левой точки текстовой строки по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстовой строки по вертикали в миллиметрах.
Примеры вывода текстов на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)
Font.WriteLine "Фамилия", 5, 2
Font.WriteLine "Имя", 5, 10
Font.WriteLine "Отчество", 5, 18
labelFont.WriteLine "Дата рождения", 5, 26
dataFont.WriteLine "Национальность", 5, 34

Результат:
Разные шрифты

Параметры для function WriteText :

  • const AText - текст для вывода на страницу. Прописывается в кавычках. Будет выведена на страницу в виде текстового блока.
  • X - координата верхней левой точки текстового блока по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстового блока по вертикали в миллиметрах.
  • Width - ширина текстового блока в миллиметрах
  • Alignment - тип выравнивания текста в текстовом блоке.
    Значение параметра | Тип выравнивания
    0 | По левому краю
    1 | По правому краю
    2 | По центру
    3 | Выравнивание по ширине
Примеры вывода текстовых блоков на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Times New Roman", 12, False, True)
set dataFont = page.createFont("Tahoma", 11, True, False)
Q = font.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 5, 100, 0)
Q = labelFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 35, 100, 1)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 55, 100, 2)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 80, 100, 3)

Результат:
Выравнивание

Свойства шрифтов:

property Spacing: Double; - свойство, отвечающее за величину промежутка между буквами в слове. Задается в виде отклонения от промежутка между буквами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Spacing = 0
labelFont.Spacing = 1
dataFont.Spacing = 2
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (1 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 15

Результат:
Промежуток букв

property WordSpacing: Double; - свойство, отвечающее за величину промежутка между соседними словами. Задается в виде отклонения от промежутка между словами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.WordSpacing = 0
labelFont.WordSpacing = 2
dataFont.WordSpacing = 5
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (5 мм)", 5, 15

Результат:
Промежуток слов

property Scaling: Double; - свойство, отвечающее за горизонтальное масштабирование букв используемого шрифта. Устанавливается в процентах. Горизонтальный масштаб по умолчанию - 100%.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Scaling = 50
labelFont.Scaling = 100
dataFont.Scaling = 200
font.WriteLine "Сжатие (50)", 5, 5
labelFont.WriteLine "По умолчанию (100)", 5, 10
dataFont.WriteLine "Растягивание (150)", 5, 15

Результат:
Scaling

property RenderingMode: TPDFFontRenderingMode; - свойство, отвечающее за заливку букв используемого шрифта.
Типы заливки:
Значение параметра: | Отображение: | Описание:
0 | Font Fill | Сплошная заливка (по умолчанию). Буква заливается сплошным цветом, объявленным на данный момент.
1 | Font Stroke | Только граница. Прорисовывается граница буквы. Тело остается незалитым.
2 | Font FillStroke | Сначала заливка, потом граница. Граница прорисовывается всегда черным цветом. Заливка осуществляется сплошным цветом, объявленным на данный момент.
3 | Inv | Невидимый шрифт.

Пример:
set page = CreatePage(Null)
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 20, False, False)
set dataFont = page.createFont("Arial", 20, False, False)
font.RenderingMode = 0
labelFont.RenderingMode = 1
dataFont.RenderingMode = 2
page.setColor 255, 0, 0
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 5, 15, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 5, 25, 50, 0)

Результат:
Заливка букв

property Rise: Double; - свойство, отвечающее за перемещение текста по вертикали.

set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 7, False, False)
set dataFont = page.createFont("Arial", 7, False, False)
labelFont.rise = -17
dataFont.rise = -2
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 44, 5, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 44, 5, 50, 0)

Результат:
Rise

Для определения размеров текстовой строки используется процедура MeasureLine(const LineText: WideString; out Width: OleVariant; out Height: OleVariant);

Здесь:

  • LineText - исходный текст для размещения на странице
  • Width - возвращаемый параметр ширины текстового блока на странице
  • Height - возвращаемый параметр высоты текстового блока на странице
S = "шифр"
font.MeasureLine S, W, H
Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2)

Здесь для текста "Шифр" замеряется ширина и высота получившегося текстового блока. Затем полученные данные используются для корректного размещения текста на странице.

Для определения высоты текстового блока используется функция MeasureText(const AText: WideString; Width: Double): Double; safecall;

Функция распределит текст по задаваемому значению ширины текстового блока и вернет значение высоты текстового блока в милиметрах.

Здесь:

  • AText - исходный текст для размещения на странице. Прописывается в кавычках.
  • Width - задаваемая ширина текстового блока на странице в милиметрах.
S = "Текст для размещения на странице..."
Q = font.MeasureText(S, 139)
Здесь для текста "Текст для размещения на странице..." замеряется высота получившегося текстового блока. Затем полученные данные могут использоваться для корректного размещения текста на странице.

3. Порядок создания

Для создания шаблона PDF-документа необходимо в системной форме Платформы выбрать класс, к которому будет строиться документ. В подменю "Подпрограммы" вызвать контекстное меню и выбрать пункт "Создать шаблон отчета PDF". Заполнить необходимые поля и приступить к созданию скрипта в окне "Скрипт шаблона".

  1. Объявляем все переменные.
  2. Создаем страницы
  3. Устанавливаем все свойства документа и страниц
  4. Рисуем простые графические объекты
  5. Объявляем все используемые шрифты
  6. Расставляем постоянный текст на странице
  7. Расставляем переменный текст на странице
  8. Вставляем или создаем сложные графические объекты
Пример документа PDF:
set LDataSet = createDataSet("TRoundAbiturSt")
'Объявление переменных
LDataSet.AddQueryItem 1, "ID", ID
LDataSet.AddQueryItem 0, "RoundComp$N"
LDataSet.AddQueryItem 0, "BachRound$N"
LDataSet.AddQueryItem 0, "LastName"
LDataSet.AddQueryItem 0, "FirstName"
LDataSet.AddQueryItem 0, "MiddleName"
LDataSet.AddQueryItem 0, "BirthDate"
LDataSet.AddQueryItem 0, "RegNumber"
LDataSet.AddQueryItem 0, "SecondStageCity$D"
LDataSet.AddQueryItem 0, "PhoneList"

'Присваивание переменным значений
OlympName = LDataSet.Field("RoundComp$N")
OlympClass = LDataSet.Field("BachRound$N")
LastName = LDataSet.Field("LastName")
FirstName = LDataSet.Field("FirstName")
MiddleName = LDataSet.Field("MiddleName")
if not IsNull(LDataSet.Field("BirthDate")) then
  BirthDate = LDataSet.Field("BirthDate")
else
  BirthDate = "(не задана)"
end if
RegNo = LDataSet.Field("RegNumber")
if not IsNull(LDataSet.Field("SecondStageCity$D")) then
  OlympCity = LDataSet.Field("SecondStageCity$D")
else
  OlympCity = "(не выбран город участия)"
end if
if not IsNull(LDataSet.Field("PhoneList")) then
  Phone = LDataSet.Field("PhoneList")
else
  Phone = ""
end if

'CanCompress = False - признак сжатия файла
set page = CreatePage(Null) ' создаем страницу
'Объявляем используемые шрифты
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 16, False, False)
set dataFont = page.createFont("Arial", 18, True, False)
set bigFont = page.createFont("Arial", 24, False, False)

'page.DrawGrid  - рисуем сетку для удобства отладки

page.LineWidth = 0.5 ' Установка толщины линии

' Рисуем прямоугольники
page.Rectangle 8, 12, 4, 4, True
page.Rectangle 190, 12, 4, 4, True

page.Rectangle 8, 273, 4, 4, True
page.Rectangle 105, 273, 4, 4, True
page.Rectangle 190, 273, 4, 4, True

'Выводим постоянный и переменный текст
Q = font.WriteText ("Межрегиональная олимпиада школьников", 12, 20, 178, 2)
Q = bigFont.WriteText (OlympName, 12, 45, 178, 2)
Q = bigFont.WriteText (OlympClass, 12, 56, 178, 2)

Q = font.WriteText ("Титульный лист", 12, 72, 178, 2)

labelFont.WriteLine "Фамилия", 25, 115 - 23
labelFont.WriteLine "Имя", 25, 123 - 23
labelFont.WriteLine "Отчество", 25, 131 - 23
labelFont.WriteLine "Дата", 25, 139 - 23
labelFont.WriteLine "рождения", 25, 145 - 23

labelFont.WriteLine "Регистрационный номер", 25, 169 - 30
labelFont.WriteLine "Город проведения", 25, 177 - 30
labelFont.WriteLine "Аудитория", 25, 185 - 30

labelFont.WriteLine "Дата", 25, 211
labelFont.WriteLine "Подпись", 25, 219
labelFont.WriteLine "Телефон", 25, 227

dataFont.WriteLine LastName, 63, 114 - 23
dataFont.WriteLine FirstName, 63, 122 - 23
dataFont.WriteLine MiddleName, 63, 130 - 23
dataFont.WriteLine BirthDate, 63, 141 - 23

dataFont.WriteLine RegNo, 100, 168 - 30
dataFont.WriteLine OlympCity, 100, 176 - 30

' Рисуем линии
page.line 100, 192 - 30, 150, 192 - 30
page.line 58, 218, 108, 218
page.line 58, 226, 108, 226
Q = dataFont.WriteText(Phone, 58, 226, 65, 0)

' Устанавливаем новый цвет
page.setColor 192, 192, 192

S = "шифр"
font.MeasureLine S, W, H  ' измеряем текстовый блок
Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2) ' располагаем текстовый
блок на странице

' Устанавливаем новый цвет
page.setColor 255, 0, 0
' Устанавливаем толщину линий в 1 пиксель
page.LineWidth = 0
' Рисуем линии по координатам
X = 139
Y = 267

page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

X = X + 40
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

Y = Y - 23
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

X = X - 40
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

Результат:


Мельница данных ((раздел целиком))

Мельница данных- Класс TStringDomain (Строковые) (раздел целиком) (23.04.2022) (одним файлом)
Класс TStringDomain (Строковые)
Унаследован от класса TDomain (Домены) .

1. Конструктор TStringDomain.Create (Конструктор строкового домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) |  | Доступен |

Конструирует объект класса TStringDomain (Строковые) .

2. Поле TStringDomain.FLength (Максимальная длина)
FLength: TLength (Длина) (обязательно для заполнения) .

Используется для хранения значений свойства TStringDomain.Length (Длина)
.

3. Свойство TStringDomain.Length (Длина)
Length: TLength (Длина) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TStringDomain.FLength (Максимальная длина) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TDateTimeDomain (Даты со временем) (раздел целиком) (23.04.2022) (одним файлом)
Класс TDateTimeDomain (Даты со временем)
Унаследован от класса TDomain (Домены) .

1. Конструктор TDateTimeDomain.Create (Конструктор домена даты со временем)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TDateTimeDomain (Даты со временем) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TWordTemplate (Шаблоны отчетов Word) (раздел целиком) (23.04.2022) (одним файлом)
Класс TWordTemplate (Шаблоны отчетов Word)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

1. Конструктор TWordTemplate.Create (Конструктор шаблона Word)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TWordTemplateData (Данные Word-шаблона) |  | Доступен |
MacroName (Имя макроса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TWordTemplate (Шаблоны отчетов Word) .

2. Поле TWordTemplate.FMacroName (Имя макроса)
FMacroName: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TWordTemplate.MacroName (Имя макроса)
.

3. Поле TWordTemplate.FTemplateData (Данные шаблона)
FTemplateData: TWordTemplateData (Данные Word-шаблона) .

Используется для хранения значений свойства TWordTemplate.TemplateData (Данные шаблона)
.

4. Свойство TWordTemplate.MacroName (Имя макроса)
MacroName: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TWordTemplate.FMacroName (Имя макроса) .

5. Свойство TWordTemplate.TemplateData (Данные шаблона)
TemplateData: TWordTemplateData (Данные Word-шаблона) .

Для чтения и записи свойства используется поле TWordTemplate.FTemplateData (Данные шаблона) .


Мельница данных ((раздел целиком))

Мельница данных- Этапы разработки прикладных решений (раздел целиком) (23.04.2022) (одним файлом)
Этапы разработки прикладных решений

1. Формирование видения модели

2. Создание структур хранения и средств обработки данных

2.1. Класс TObject, члены класса TОbject

2.2. Создание классов

2.3. Создание полей

2.4. Создание свойств

2.5. Создание методов

3. Синхронизаци базы данных

4. Создание пользователей и ролей

5. Средства моделирования пользовательских интерфейсов

5.1. Представления

5.2. Формы. Включение представлений в формы

5.3. Визуальные группы. Включение форм в визуальные группы

5.4. Организация доступа пользователей к формам и визуальным группам

6. Разработка отчетов

6.1. Создание шаблонов PDF-отчетов

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.

Все размеры графических объектов, размеры страниц, шрифтов и т.п. по умолчанию заданы в миллиметрах.
Для удобства построения шаблона PDF-документа создана функция DrawGrid. При ее включении при отладке при создании шаблона будет отображена визуальная сетка с шагом 5 миллиметров.

6.1.2. Методы

6.1.2.1. Свойства документа

Для создания и описания свойств PDF-документа в библиотеке PDFCreator.dll используется класс IPDFDocument, обладающий следующими свойствами:

  • Title (WideString) - заголовок документа. По умолчанию - пустая строка.
    Title = "DOC1"
  • CanEmbedFonts (WordBool) - Признак возможности построения PDF- документа со встроенными шрифтами (Embedded Fonts). В случае включения признака, все объявленные в скрипте шрифты будут включены в сборку документа и будут передаваться целиком вместе с документом. По умолчанию - False.
    CanEmbedFonts = True

CanEmbedFonts = False
  • CanCompress (WordBool) - признак сжатия документа при создании по собственным алгоритмам. По умолчанию - True.
    CanCompress = False

CanCompress = True
  • Author (WideString) - автор документа. По умолчанию - текущий пользователь ОС.
  • Subject (WideString) - описание документа. По умолчанию - пустая строка.
  • Keywords (WideString) - ключевые слова для поиска по документу. По умолчанию - пустая строка.
  • Creator (WideString) - приложение-родитель документа. Указывается в том случае, если документ был сконвертирован из другого формата.
  • PageCount (Integer) - свойство, содержащее общее количество страниц в документе.
  • Pages[Index: Integer]: IPDFPage - свойство документа, предназначенное для перебора страниц документа для совершения над ними однотипных действий.

    Пример использования:

    for I = 0 to PageCount - 1
  Pages(I).rectangle 10,10,10,10, false
next
Save "c:\pdf.pdf"

    Результат: На всех страницах документа будут нарисованы квадраты 10х10 мм.
  • procedure Save(Target: OleVariant) - процедура для сохранения документа PDF на жесткий диск сразу после создания.
    Save "c:\pdf.pdf"
    - сохранит документ в файл c:\pdf.pdf

6.1.2.2. Свойства страницы

Для создания страницы используется функция

function CreatePage(Parent: OleVariant): IPDFPage;

Параметр Parent указывает страницу-родителя для данной страницы. Если страницы- родителя быть не должно - формат вызова функции примет вид:

set page = CreatePage(Null)

Параметры страницы:

  • Title - заголовок страницы.
    page.Title = "Page name"
  • Width - ширина страницы, миллиметры
    page.Width = 80
  • Height - высота страницы, миллиметры
    page.Height = 80
  • DrawGrid - процедура, выводящая на страницу сетку с шагом 5 миллиметров для удобства отладки вида документа.
  • Perform - процедура, позволяющая выполнить дополнительные команды PostScript на странице.
    page.perform "1 0.7 0 0 k"
    page.perform "0 0 m"

6.1.2.2.1. Объявление цвета

Для объявления цвета объектов на странице используется цветовая модель R:G:B (Red:Green:Blue). Объявление цвета для выполнения последующих операций (цвет шрифта, цвет линии/фигуры) осуществляется процедурой

procedure SetColor(R: Integer; G: Integer; B: Integer);
Где параметры R, G, B - значения базисных цветов для выбранного цвета (от 0 до 255).

Цвет | R | G | B |
Белый | 255 | 255 | 255 | +++
Черный | 0 | 0 | 0 | +++
Серый | 190 | 190 | 190 | +++
Синий | 0 | 0 | 255 | +++
Красный | 255 | 0 | 0 | +++
Зеленый | 0 | 255 | 0 | +++

Если предварительно цвет не был объявлен, используется цвет по умолчанию - черный (0,0,0)

6.1.2.3. Графика

6.1.2.3.1. Линии

Для отрисовки линий используется процедура

procedure Line(X1: Double; Y1: Double; X2: Double; Y2: Double);
Здесь:

  • X1 - координата начала линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y1 - координата начала линии по вертикали в миллиметрах от верхнего левого угла листа.
  • X2 - координата конца линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y2 - координата Конца линии по вертикали в миллиметрах от верхнего левого угла листа.

Для задания толщины линии используется свойство

property LineWidth: Double
Значение толщины задается в миллиметрах. Значение по умолчанию - минимально возможная единица рисования для устройства. Так для монитора - 1 pixel, для принтера - 1 dot (точка)

Для задания стиля отрисовки начала/окончания линии используется свойство property LineCap: TPDFLineCap
Возможные стили:
Значение свойства: | Отображение: | Описание:
0 | Линия 0 | Прямой срез точно по точкам начала и окончания линии (по умолчанию)
1 | Линия 1 | С закруглением
2 | Линия 2 | Прямой срез с продолжением линии на половину толщины линии

Объявление цвета линии.

Две линии разной толщины, с разными окончаниями и цветами:
set page = CreatePage(Null)

page.DrawGrid

page.LineCap = 1

page.LineWidth = 2

page.Line 10, 10, 30, 30

page.LineWidth = 4

page.SetColor 255, 0, 0

page.LineCap = 2

page.Line 10, 30, 30, 10."I

Результат:
2 линии

При необходимости соединения линий под углом в определенной точке можно задать тип соединения. Для объявления типа соединения используется свойство property LineJoin: TPDFLineJoin;
Типы соединения двух линий:
Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пунктир

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

Процедура procedure SetDash(DashArray: OleVariant; Phase: Integer); Здесь DashArray - массив значений в миллиметрах, указывающий последовательность чередования штрихов и пропусков на линии, Phase - смещение в миллиметрах по линии.

Пример 1. Штрих 10 мм, Промежуток 5 мм, Смещения нет
Пример 2. Штрих 10 мм, Промежуток 5 мм, Смещение 5 мм
Пример 3. Различные значения штрихов и промежутков, Смещения нет
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.SetDash Array(10, 5), 0

page.Line 10, 10, 100, 10

page.SetDash Array(10, 5), 5

page.Line 10, 20, 100, 20

page.SetDash Array(10, 5, 3, 2, 12, 20), 0

page.Line 10, 30, 100, 30

Результат:
Пунктир 1

Ломанная линия - здесь непрерывная линия, состоящая из нескольких прямых. Для отображения ломанной используется процедура procedure Poly(Points: OleVariant; Fill: WordBool), где Points - массив координат точек соединяемых прямыми, а Fill - признак заливки полученной замкнутой фигуры (если замкнута).

Пример Звезда без заливки
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), false

Результат:
Звезда
Пример Звезда с заливкой
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), true

Результат:
Звезда заливка

6.1.2.3.2. Прямоугольник

Rectangle (Прямоугольник) - для создания используется процедура:

procedure Rectangle(X1: Double; Y1: Double; Width: Double; Height: Double; Fill: WordBool);
Здесь:

  • X1 - координата верхнего левого угла прямоугольника по горизонтали в миллиметрах от верхнего левого угла листа шаблона.
  • Y1 - координата верхнего левого угла прямоугольника по вертикали в миллиметрах от верхнего левого угла листа шаблона.
  • Width - ширина прямоугольника с миллиметрах.
  • Height - высота прямоугольника с миллиметрах.
  • Fill - признак заливки прямоугольника (True/False). Если значение True то заливка производится объявленным заранее цветом (см. Объявление цвета). Если False - заливка не производится. Прямоугольник отрисовывается линиями с предварительно заданной толщиной. См. Линии
Пример 1. Создание красного прямоугольника:
set page = CreatePage(Null)

page.SetColor 255, 0, 0

page.Rectangle 10, 15, 40, 20, True

page.DrawGrid
Результат:
Прямоугольник
Пример 2. Пустой прямоугольник без задания цвета:
set page = CreatePage(Null)

page.DrawGrid

page.Rectangle 12, 17, 42, 25, false

page.DrawGrid

Результат:
Прямоугольник false

Также существует возможность изменения стиля отображения углов прямоугольника. Для этого нужно использовать свойство property LineJoin: TPDFLineJoin;

Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пример построения прямоугольников с различными типами соединения сторон:

set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 4

page.LineJoin = 0

page.Rectangle 10, 10, 20, 10, false

page.LineJoin = 1

page.Rectangle 40, 10, 20, 10, false

page.LineJoin = 2

page.Rectangle 70, 10, 20, 10, false

Результат:
3 прямоугольника

6.1.2.3.3. Вставка готовых изображений

Для вставки на создаваемую страницу готового изображения используется процедура procedure Image(const FileName: WideString; X: Double; Y: Double; Width: Double; Height: Double)

Параметры:

  • const FileName - имя файла изображения и путь к нему на жестком диске. Задается в кавычках.
  • X - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по горизонтали в миллиметрах
  • Y - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по вертикали в миллиметрах
  • Width - ширина изображения в миллиметрах
  • Height - высота изображения в миллиметрах.
set page = CreatePage(Null)
page.drawgrid
page.Image "c:\mill.bmp", 10,10, 30, 30

Результат:
Картинка

Вне зависимости от размера исходного изображения, при вставке изображения на создаваемую страницу оно будет растянуто по размерам, прописанным в процедуре.

6.1.2.3.4. Векторная графика

Язык PostScript, с помощью которого создаются векторные изображения для PDF-документа, поддерживает создание типичных примитивных объектов, таких как:

  • Прямые и ломанные линии
  • Многоугольники
  • Окружности и эллипсы
  • Кривые Безье
  • Текст

При создании векторного изображения на странице PDF-документа в приложениях Платформы, команды построения примитивных объектов PostScript передаются на исполнение при помощи процедуры Perform. Подробнее об операторах и командах PostScript для создания PDF-документов можно узнать на сайте Adobe

6.1.2.4. Шрифты

Шрифты, которые должны использоваться в создаваемом документе, должны быть предварительно объявлены. Для объявления используемых шрифтов используется функция
function CreateFont(const FontName: WideString; Size: Double; Bold: WordBool; Italic: WordBool): IPDFFont; где:

  • const FontName - имя шрифта, аналогичное имени объявляемого шрифта в операционной системе. В Функции объявляется в кавычках.
  • Size - размер шрифта в пунктах
  • Bold - признак начертания шрифта "жирный". Значения - True или False
  • Italic - признак начертания шрифта "курсив". Значения - True или False
Примеры объявления шрифтов:
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)

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

  • procedure WriteLine(const LineText: WideString; X: Double; Y: Double);
    - используется для вывода текстовой строки
  • function WriteText(const AText: WideString; X: Double; Y: Double; Width: Double; Alignment: TPDFTextAlignment): Double;
    - используется для вывода текстового блока.

Параметры для procedure WriteLine :

  • const LineText - текстовая строка для вывода. Прописывается в кавычках. Будет выведена на страницу одной строкой.
  • X - координата верхней левой точки текстовой строки по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстовой строки по вертикали в миллиметрах.
Примеры вывода текстов на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)
Font.WriteLine "Фамилия", 5, 2
Font.WriteLine "Имя", 5, 10
Font.WriteLine "Отчество", 5, 18
labelFont.WriteLine "Дата рождения", 5, 26
dataFont.WriteLine "Национальность", 5, 34

Результат:
Разные шрифты

Параметры для function WriteText :

  • const AText - текст для вывода на страницу. Прописывается в кавычках. Будет выведена на страницу в виде текстового блока.
  • X - координата верхней левой точки текстового блока по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстового блока по вертикали в миллиметрах.
  • Width - ширина текстового блока в миллиметрах
  • Alignment - тип выравнивания текста в текстовом блоке.
    Значение параметра | Тип выравнивания
    0 | По левому краю
    1 | По правому краю
    2 | По центру
    3 | Выравнивание по ширине
Примеры вывода текстовых блоков на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Times New Roman", 12, False, True)
set dataFont = page.createFont("Tahoma", 11, True, False)
Q = font.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 5, 100, 0)
Q = labelFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 35, 100, 1)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 55, 100, 2)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 80, 100, 3)

Результат:
Выравнивание

Свойства шрифтов:

property Spacing: Double; - свойство, отвечающее за величину промежутка между буквами в слове. Задается в виде отклонения от промежутка между буквами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Spacing = 0
labelFont.Spacing = 1
dataFont.Spacing = 2
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (1 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 15

Результат:
Промежуток букв

property WordSpacing: Double; - свойство, отвечающее за величину промежутка между соседними словами. Задается в виде отклонения от промежутка между словами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.WordSpacing = 0
labelFont.WordSpacing = 2
dataFont.WordSpacing = 5
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (5 мм)", 5, 15

Результат:
Промежуток слов

property Scaling: Double; - свойство, отвечающее за горизонтальное масштабирование букв используемого шрифта. Устанавливается в процентах. Горизонтальный масштаб по умолчанию - 100%.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Scaling = 50
labelFont.Scaling = 100
dataFont.Scaling = 200
font.WriteLine "Сжатие (50)", 5, 5
labelFont.WriteLine "По умолчанию (100)", 5, 10
dataFont.WriteLine "Растягивание (150)", 5, 15

Результат:
Scaling

property RenderingMode: TPDFFontRenderingMode; - свойство, отвечающее за заливку букв используемого шрифта.
Типы заливки:
Значение параметра: | Отображение: | Описание:
0 | Font Fill | Сплошная заливка (по умолчанию). Буква заливается сплошным цветом, объявленным на данный момент.
1 | Font Stroke | Только граница. Прорисовывается граница буквы. Тело остается незалитым.
2 | Font FillStroke | Сначала заливка, потом граница. Граница прорисовывается всегда черным цветом. Заливка осуществляется сплошным цветом, объявленным на данный момент.
3 | Inv | Невидимый шрифт.

Пример:
set page = CreatePage(Null)
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 20, False, False)
set dataFont = page.createFont("Arial", 20, False, False)
font.RenderingMode = 0
labelFont.RenderingMode = 1
dataFont.RenderingMode = 2
page.setColor 255, 0, 0
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 5, 15, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 5, 25, 50, 0)

Результат:
Заливка букв

property Rise: Double; - свойство, отвечающее за перемещение текста по вертикали.

set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 7, False, False)
set dataFont = page.createFont("Arial", 7, False, False)
labelFont.rise = -17
dataFont.rise = -2
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 44, 5, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 44, 5, 50, 0)

Результат:
Rise

Для определения размеров текстовой строки используется процедура MeasureLine(const LineText: WideString; out Width: OleVariant; out Height: OleVariant);

Здесь:

  • LineText - исходный текст для размещения на странице
  • Width - возвращаемый параметр ширины текстового блока на странице
  • Height - возвращаемый параметр высоты текстового блока на странице
S = "шифр"
font.MeasureLine S, W, H
Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2)

Здесь для текста "Шифр" замеряется ширина и высота получившегося текстового блока. Затем полученные данные используются для корректного размещения текста на странице.

Для определения высоты текстового блока используется функция MeasureText(const AText: WideString; Width: Double): Double; safecall;

Функция распределит текст по задаваемому значению ширины текстового блока и вернет значение высоты текстового блока в милиметрах.

Здесь:

  • AText - исходный текст для размещения на странице. Прописывается в кавычках.
  • Width - задаваемая ширина текстового блока на странице в милиметрах.
S = "Текст для размещения на странице..."
Q = font.MeasureText(S, 139)
Здесь для текста "Текст для размещения на странице..." замеряется высота получившегося текстового блока. Затем полученные данные могут использоваться для корректного размещения текста на странице.

6.1.3. Порядок создания

Для создания шаблона PDF-документа необходимо в системной форме Платформы выбрать класс, к которому будет строиться документ. В подменю "Подпрограммы" вызвать контекстное меню и выбрать пункт "Создать шаблон отчета PDF". Заполнить необходимые поля и приступить к созданию скрипта в окне "Скрипт шаблона".

  1. Объявляем все переменные.
  2. Создаем страницы
  3. Устанавливаем все свойства документа и страниц
  4. Рисуем простые графические объекты
  5. Объявляем все используемые шрифты
  6. Расставляем постоянный текст на странице
  7. Расставляем переменный текст на странице
  8. Вставляем или создаем сложные графические объекты
Пример документа PDF:
set LDataSet = createDataSet("TRoundAbiturSt")
'Объявление переменных
LDataSet.AddQueryItem 1, "ID", ID
LDataSet.AddQueryItem 0, "RoundComp$N"
LDataSet.AddQueryItem 0, "BachRound$N"
LDataSet.AddQueryItem 0, "LastName"
LDataSet.AddQueryItem 0, "FirstName"
LDataSet.AddQueryItem 0, "MiddleName"
LDataSet.AddQueryItem 0, "BirthDate"
LDataSet.AddQueryItem 0, "RegNumber"
LDataSet.AddQueryItem 0, "SecondStageCity$D"
LDataSet.AddQueryItem 0, "PhoneList"

'Присваивание переменным значений
OlympName = LDataSet.Field("RoundComp$N")
OlympClass = LDataSet.Field("BachRound$N")
LastName = LDataSet.Field("LastName")
FirstName = LDataSet.Field("FirstName")
MiddleName = LDataSet.Field("MiddleName")
if not IsNull(LDataSet.Field("BirthDate")) then
  BirthDate = LDataSet.Field("BirthDate")
else
  BirthDate = "(не задана)"
end if
RegNo = LDataSet.Field("RegNumber")
if not IsNull(LDataSet.Field("SecondStageCity$D")) then
  OlympCity = LDataSet.Field("SecondStageCity$D")
else
  OlympCity = "(не выбран город участия)"
end if
if not IsNull(LDataSet.Field("PhoneList")) then
  Phone = LDataSet.Field("PhoneList")
else
  Phone = ""
end if

'CanCompress = False - признак сжатия файла
set page = CreatePage(Null) ' создаем страницу
'Объявляем используемые шрифты
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 16, False, False)
set dataFont = page.createFont("Arial", 18, True, False)
set bigFont = page.createFont("Arial", 24, False, False)

'page.DrawGrid  - рисуем сетку для удобства отладки

page.LineWidth = 0.5 ' Установка толщины линии

' Рисуем прямоугольники
page.Rectangle 8, 12, 4, 4, True
page.Rectangle 190, 12, 4, 4, True

page.Rectangle 8, 273, 4, 4, True
page.Rectangle 105, 273, 4, 4, True
page.Rectangle 190, 273, 4, 4, True

'Выводим постоянный и переменный текст
Q = font.WriteText ("Межрегиональная олимпиада школьников", 12, 20, 178, 2)
Q = bigFont.WriteText (OlympName, 12, 45, 178, 2)
Q = bigFont.WriteText (OlympClass, 12, 56, 178, 2)

Q = font.WriteText ("Титульный лист", 12, 72, 178, 2)

labelFont.WriteLine "Фамилия", 25, 115 - 23
labelFont.WriteLine "Имя", 25, 123 - 23
labelFont.WriteLine "Отчество", 25, 131 - 23
labelFont.WriteLine "Дата", 25, 139 - 23
labelFont.WriteLine "рождения", 25, 145 - 23

labelFont.WriteLine "Регистрационный номер", 25, 169 - 30
labelFont.WriteLine "Город проведения", 25, 177 - 30
labelFont.WriteLine "Аудитория", 25, 185 - 30

labelFont.WriteLine "Дата", 25, 211
labelFont.WriteLine "Подпись", 25, 219
labelFont.WriteLine "Телефон", 25, 227

dataFont.WriteLine LastName, 63, 114 - 23
dataFont.WriteLine FirstName, 63, 122 - 23
dataFont.WriteLine MiddleName, 63, 130 - 23
dataFont.WriteLine BirthDate, 63, 141 - 23

dataFont.WriteLine RegNo, 100, 168 - 30
dataFont.WriteLine OlympCity, 100, 176 - 30

' Рисуем линии
page.line 100, 192 - 30, 150, 192 - 30
page.line 58, 218, 108, 218
page.line 58, 226, 108, 226
Q = dataFont.WriteText(Phone, 58, 226, 65, 0)

' Устанавливаем новый цвет
page.setColor 192, 192, 192

S = "шифр"
font.MeasureLine S, W, H  ' измеряем текстовый блок
Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2) ' располагаем текстовый
блок на странице

' Устанавливаем новый цвет
page.setColor 255, 0, 0
' Устанавливаем толщину линий в 1 пиксель
page.LineWidth = 0
' Рисуем линии по координатам
X = 139
Y = 267

page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

X = X + 40
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

Y = Y - 23
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

X = X - 40
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

Результат:

7. Поставка решений


Мельница данных ((раздел целиком))

Мельница данных- Класс TVisualGroup (Визуальные группы) (раздел целиком) (23.04.2022) (одним файлом)
Класс TVisualGroup (Визуальные группы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты могут включать в себя объекты классов:
  • TVisualGroupItem (Элемент визуальной группы)
  • TVisualGroupForm (Форма визуальной граппы)
  • TVisualGroupAccess (Доступ к визуальным группам)
  • TVisualGroupRoutine (Подпрограмма визуальной группы)

1. Конструктор TVisualGroup.Create (Конструктор визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Image (Изображение) | TImage (Изображение) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Collapsed (Свернута) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TVisualGroup (Визуальные группы) .

2. Поле TVisualGroup.FCollapsed (Свернута)
FCollapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Collapsed (Свернута)
.

3. Поле TVisualGroup.FImage (Изображение)
FImage: TImage (Изображение) .

Используется для хранения значений свойства TVisualGroup.Image (Изображение)
.

4. Поле TVisualGroup.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Position (Позиция)
.

5. Поле TVisualGroup.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Scope (Область видимости)
.

6. Свойство TVisualGroup.Collapsed (Свернута)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FCollapsed (Свернута) .

7. Свойство TVisualGroup.Image (Изображение)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TVisualGroup.FImage (Изображение) .

8. Свойство TVisualGroup.IsAccessible (Доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TVisualGroup.GetIsAccessible (Доступна) .

9. Свойство TVisualGroup.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FPosition (Позиция) .

10. Свойство TVisualGroup.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FScope (Область видимости) .

11. Функция TVisualGroup.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TVisualGroup.IsAccessible (Доступна)
.

12. Функция TVisualGroup.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TVisualGroup.Create (Конструктор визуальной группы)
.


Мельница данных ((раздел целиком))

Мельница данных- Класс TBanGroup (Группы запретов) (раздел целиком) (23.04.2022) (одним файлом)
Класс TBanGroup (Группы запретов)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TBanGroupAccess (Доступ к группам запретов)
  • TBanGroupItem (Элементы группы запретов)
  • TClassBan (Запрет на класс)
  • TRoutineBan (Запрет на подпрограмму)
  • TPropertyBan (Запрет на свойство)

Объекты класса определяют группы запретов. Запреты на классы, свойства и подпрограммы объединяются разработчиком в функциональные группы, являющиеся группами запретов. В дальнейшем эти группы ассоциируются с конкретными ролями безопасности.

1. Конструктор TBanGroup.Create (Конструктор группы запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TBanGroup (Группы запретов) .

2. Свойство TBanGroup.IsAccessible (Доступна)
IsAccessible : Boolean (Обычное логическое) (обязательно для заполнения).

Для чтения значения свойства используется функция TBanGroup.GetIsAccessible (Доступна) . Свойство доступно только для чтения.

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

3. Функция TBanGroup.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TBanGroup.IsAccessible (Доступна).


Мельница данных ((раздел целиком))

Мельница данных- Создание структур хранения и средств обработки данных (раздел целиком) (23.04.2022) (одним файлом)
Создание структур хранения и средств обработки данных

1. Класс TObject, члены класса TОbject

2. Создание классов

3. Создание полей

4. Создание свойств

5. Создание методов


Мельница данных ((раздел целиком))

Мельница данных- Класс TAccessibleFile (Доступный файл) (раздел целиком) (23.04.2022) (одним файлом)
Класс TAccessibleFile (Доступный файл)
Унаследован от класса TObject (Объекты).

Класс предназначен для хранения (двоичных) именованных (cвойство TObject.Name (Имя)) файлов внутри Системы. Содержимое этих файлов используется Системой в качестве источника статичных данных (картинок, стилевых таблиц, скриптовых библиотек, etc), доступных по протоколу http внутри отчета XSLT и для хранения библиотек кода, содержащих логику работы методов Ole-объекта. Разработчик решения вправе распорядится доступными файлами по своему усмотрению.

1. Конструктор TAccessibleFile.Create (Конструктор доступного файла)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
FileData (Данные файла) | TFileContent (Содержимое файлов) |  | Доступен |

Конструирует объект класса TAccessibleFile (Доступный файл) .

2. Поле TAccessibleFile.FFileData (Данные файла)
FFileData: TFileContent (Содержимое файлов).

Используется для хранения значений свойства TAccessibleFile.FileData (Данные файла).

3. Свойство TAccessibleFile.FileData (Данные файла)
FileData : TFileContent (Содержимое файлов) .

Для чтения и записи свойства используется поле TAccessibleFile.FFileData (Данные файла) .

Это свойство определяет содержимое доступного файла.


Мельница данных ((раздел целиком))

Мельница данных- Класс TXSLTTemplate (Шаблоны отчетов XSLT) (раздел целиком) (23.04.2022) (одним файлом)
Класс TXSLTTemplate (Шаблоны отчетов XSLT)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

1. Конструктор TXSLTTemplate.Create (Конструктор шаблона xslt)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TXSLTTemplateData (Данные XSLT-шаблона) |  | Доступен |

Конструирует объект класса TXSLTTemplate (Шаблоны отчетов XSLT) .

2. Поле TXSLTTemplate.FTemplateData (Данные шаблона)
FTemplateData: TXSLTTemplateData (Данные XSLT-шаблона) .

Используется для хранения значений свойства TXSLTTemplate.TemplateData (Данные шаблона)
.

3. Свойство TXSLTTemplate.TemplateData (Данные шаблона)
TemplateData: TXSLTTemplateData (Данные XSLT-шаблона) .

Для чтения и записи свойства используется поле TXSLTTemplate.FTemplateData (Данные шаблона) .


Мельница данных ((раздел целиком))

Мельница данных- Отображение учитываемых объектов в таблице данных (раздел целиком) (23.04.2022) (одним файлом)
Отображение учитываемых объектов в таблице данных

Таблица данных имеет строки и колонки. Строки таблицы (или записи) соответствуют учитываемым объектам. Колонки таблицы соответствуют свойствам объектов.

Макет таблицы данных

На рисунке представлен макет таблицы данных, в которой отображаются объекты, соответствующие сортам фруктового мороженого. Таблица данных имеет наименование "Сорта фруктового мороженого", которое отображается на соответствующей закладке (1). Таблица имеет пять строк (2), соответствующих пяти сортам фруктового мороженого. Выделенной в настоящее время является первая строка. Таблица имеет пять колонок, соответствующих свойствам учитываемых сортов мороженого. Каждая колонка имеет заголовок (4), отражающий отображаемое в этой колонке свойство. Активной в настоящее время является первая колонка. Активным элементом данных (3) является ячейка, расположенная в первой строке в первом столбце.

На рисунке активная строка и активный элемент данных выделяются оттенками синего цвета. Цвета, применяемые для выделения элементов данных, зависят от локальных настроек операционной системы Windows (стилей) на компьютере пользователя.

Под заголовком каждой колонки расположена строка фильтра (5). При помощи ввода в этой строке условия отбора или выбора значений из выпадающего списка можно осуществлять фильтрацию отображаемых в таблице данных.

Если отображаемые данные не помещаются в окно по ширине, то активной становится горизонтальная полоса прокрутки (7). С ее помощью можно пролистывать колонки таблицы вправо и влево. Если данные не помещаются в окно по вертикали, то активной становится вертикальная полоса прокрутки (8). С ее помощью можно пролистывать записи об объектах вверх и вниз. При щелчке правой кнопкой мыши на полосе прокрутки (если она активна) доступны действия по быстрой прокрутке содержимого таблицы.

При щелчке правой кнопкой мыши в области таблицы данных отображается контекстное меню. Контекстное меню отображает список действий, доступных над объектами, отображаемыми в таблице данных. Вызываемые действия выполняются для тех объектов, которые являются выделенными в таблице данных. Если ни одного объекта не выделено, некоторые действия контекстного меню могут быть недоступны. Набор действий, отображаемых в контекстном меню различен в разных таблицах данных.

  1. Заголовок закладки с именем таблицы данных.
  2. Выделенный объект.
  3. Выделенный элемент данных.
  4. Заголовок колонки.
  5. Строка фильтра.
  6. Флажок для выбора объектов.
  7. Горизонтальная полоса прокрутки.
  8. Вертикальная полоса прокрутки

1. Иерархические таблицы данных

Если отображаемые в таблице данные имеют иерархическую структуру (т.е. присутствует "вхождение" одних объектов в другие), то в таблице данных объекты могут отображаться в виде "дерева".

Иерархическая таблица данных

На рисунке представлена таблица данных, отображающая периоды обучения студентов. Эти данные имеют иерархическую структуру, которая отражает вхождение учебных модулей в состав семестров, а семестров в состав учебных годов. В первой колонке иерархической таблицы данных слева от элементов данных, имеющих подчиненные элементы, отображаются значки Свернутый узел дерева или Развернутый узел дерева. При щелчке мышью по значку Свернутый узел дерева отображаются подчиненные объекты. Значок Свернутый узел дерева при этом превращается в значок Развернутый узел дерева. При щелчке мышью по значку Развернутый узел дерева подчиненные объекты скрываются и значок Развернутый узел дерева превращается в Свернутый узел дерева. На рисунке для объектов "Учебный год 2005-2006" и его подчиненных объектов "I семестр" и "II семестр" подчиненные объекты отображены. Щелчком по значку Развернутый узел дерева подчиненные объекты можно скрыть. Для объектов "I семестр" и "II семестр" учебного года 2006-2007 подчиненные объекты скрыты. Щелчком по значку Свернутый узел дерева их можно отобразить. При горизонтальном пролистывании таблицы данных вправо или влево "дерево" объектов всегда отображается слева от самого левого столбца.

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


Мельница данных ((раздел целиком))

Мельница данных- Средства моделирования пользовательских интерфейсов (раздел целиком) (23.04.2022) (одним файлом)
Средства моделирования пользовательских интерфейсов

1. Представления

2. Формы. Включение представлений в формы

3. Визуальные группы. Включение форм в визуальные группы

4. Организация доступа пользователей к формам и визуальным группам


Мельница данных ((раздел целиком))

Мельница данных- Средства моделирования пользовательского интерфейса (раздел целиком) (23.04.2022) (одним файлом)
Средства моделирования пользовательского интерфейса

1. Представления

2. Визуальные группы

3. Формы, связь представлений в формах


Мельница данных ((раздел целиком))

Мельница данных- Класс TUser (Пользователи) (раздел целиком) (23.04.2022) (одним файлом)
Класс TUser (Пользователи)
Унаследован от класса TSecurityAccount (Роли безопасности) .

1. Конструктор TUser.Create (Конструктор пользователя)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TUser (Пользователи) .

2. Поле TUser.FAccessMode (Режим доступа)

3. Свойство TUser.AccessMode (Режим доступа)

4. Свойство TUser.IsCurrent (Является текущим)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

5. Функция TUser.GetIsCurrent (Является текущим)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойств:
TUser.IsCurrent (Является текущим)
TOptionValue.IsCurrent (Является текущим)
TInstantMessage.IsCurrent (Текущему пользователю)
.


Мельница данных ((раздел целиком))

Мельница данных- Интерфейсы взаимодействия с внешними подсистемами (раздел целиком) (23.04.2022) (одним файлом)
Интерфейсы взаимодействия с внешними подсистемами

Системный слой платформы "Мельница данных" предоставляет сторонним системам ряд интерфейсов, дающих возможность обращаться к объектам базы данных и их свойствам, вызывать методы классов и объектов, осуществлять запросы к базе данных, управлять поведением элементов управления и проч.

1. Интерфейс IContext
  IContext = interface(IDispatch)
    ['{79847D79-A3BE-408F-B59F-662B91BC6350}']
    function Handle: Integer;
    function getName(ID: OleVariant): WideString;
    function getDescription(ID: OleVariant): WideString;
    function createDataSet(const TargetClassName: WideString):
      IContextDataSet;
    function executeMethod(const ClassName: WideString;
      const MethodName: WideString;
      Params: OleVariant): OleVariant;
    function executeReport(const ClassName: WideString;
      const TemplateName: WideString;
      Params: OleVariant): IDispatch;
    function getPropValue(const ClassName: WideString;
      const PropName: WideString;
      const ID: OleVariant): OleVariant;
    procedure setPropValue(const ClassName: WideString;
      const PropName: WideString;
      const ID: OleVariant; Value: OleVariant);
    function select(const ClassName: WideString;
      QueryItems: OleVariant): IDispatch;
    function enumerationItem(ItemIdentifier: OleVariant): WideString;
    function getClass(const ClassName: WideString): WideString;
    function createGUID: WideString;
    procedure processStart(const Description: WideString;
      ItemCount: Integer);
    procedure processStep;
    procedure processStop;
    function PlaceDataSet(const Range: IDispatch;
      const DataSet: IContextDataSet;
      ShiftRows: WordBool; ShiftColumns: WordBool): Integer;
    procedure DebugString(const Message: WideString);
    procedure ExportObject(var Document: OleVariant; const ID: WideString;
      const ClassID: WideString);
    function callRoutine(const ClassName, RoutineName: WideString;
      var RetValue: OleVariant; const ScriptPart: OleVariant): WordBool;
    function getOleObject(const ClassID, AccessibleFileName: WideString): IDispatch;
    function getResource(const Name: WideString): WideString;
    function getTempFileName(const Extension: WideString): WideString;
    function selectVaue(const ClassDomain: WideString;
      const ExpressionContext: IContextExpressionInfo;
      var Value: OleVariant): WordBool;
    procedure raiseManagedException(const ExceptionMessage: WideString);
    function getCRC(Data: OleVariant): WideString;
    function downloadData(const Host: WideString; const Url: WideString;
      const UserName: WideString; const Password: WideString;
      NegotiateAuth: WordBool; PostData: OleVariant;
      const PostContentType: WideString; PostDataIsBinary: WordBool;
      CanCache: WordBool; NewSession: WordBool; TimeOut: Integer): OleVariant;
    function createBinaryData: IDispatch;
    function BinaryToBitmap(const Data: IDispatch): IDispatch; safecall;
    function editValues(const ValuesList: WideString; const Title: WideString;
      UseTabs: WordBool; HideOKButton: WordBool;
      const ScriptPart: OleVariant): WordBool;
    function MsgBox(const Prompt: WideString; Buttons: LongWord;
      const Title: WideString;
      const HelpFile: WideString; Context: LongWord): Integer;
    function ShowMsgBox(const Prompt: WideString; Buttons: LongWord;
      const Title: WideString;
      const HelpFile: WideString; Context: LongWord): Integer;
    function buildNamedFile(const Data: IDispatch; const StoredFileName: WideString;
                            Propmpt: WordBool; Compress: WordBool): IDispatch;
    procedure parseNamedFile(const NamedFile: IDispatch; out FileName: OleVariant;
                             out Data: OleVariant);
    procedure showView(const ViewName: WideString; Key: OleVariant;
                       const DetailPropertyName: WideString);
    procedure showDataSet(const DataSet: ContextDataSet; const Caption: WideString;
                          ColumnCaptions: OleVariant; ColumnOnChangeHandlers: OleVariant;
                          TakeActionsFromView: OleVariant);
    function executeConsoleProcess(const CommandLine: WideString; MaxDuration: Integer;
                                   const OutputData: OleVariant): Integer;
    function createRaster: IDispatch;
    function createZIPArchive: IDispatch;
    function ConvertExcel(Source: OleVariant; const Format: WideString): IDispatch;
    property ContextObject: IDispatch;
    property Language: WideString;
    property UserName: WideString;
    property NegotiateAuth: WordBool;
    property Variable[const Name: WideString; Persistent: WordBool]: OleVariant;
  end;

Члены интерфейса доступны для использования в скриптах форм задания параметров, а также в отчетах как члены класса передаваемого контекстного объекта.

  • Функция Handle возвращает дескриптор главного окна приложения.
  • Функция getName возвращает имя объекта по его идентификатору.
  • Функция getDescription возвращает наименование объекта по его идентификатору.
  • Функция createDataSet создает набор данных, основанный на экземплярах класса, имя которого передано как параметр. Возвращаемый объект реализует интерфейс IContextDataSet.
  • Функция executeMethod осуществляет вызов метода с параметрами. Имя класса передается в параметре ClassName, имя вызываемого метода - в параметре MethodName. Если вызываемый метод явяется функцией, то результат ее выполнения возвращается как результат вызова executeMethod. Параметры вызова метода передаются через параметр Params следующим образом:
    • Для методов класса без параметров можно передавать любое значение, например, Null.
    • Для методов класса, имеющих один параметр, значение Params есть значение этого единственного параметра.
    • Для методов класса, имеющих более одного параметра, значение Params есть массив значений параметров.
      VBScript, VBA | LValue = executeMethod("TObject", "Round", Array(10.24, 1))
      JScript | LValue = executeMethod("TObject", "Round", new Array(10.24, 1));
      Object Pascal | LValue := executeMethod('TObject', 'Round', VarArrayOf([10.24, 1]));
    • Для методов экземпляра без параметров значение Params есть идентификатор объекта, для которого вызывается метод.
    • Для методов экземпляра, имеющих параметры, значение Params есть массив значений параметров. При этом первым элементом массива является идентификатор объекта, для которого вызывается метод.
      VBScript, VBA | executeMethod "TObject", "MergeTo", Array(LOldObject, LNewObject)
      JScript | executeMethod("TObject", "MergeTo", new Array(LOldObject, LNewObject));
      Object Pascal | executeMethod('TObject', 'MergeTo', VarArrayOf([LOldObject, LNewObject]));
  • Функция executeReport осуществляет вызов отчета с параметрами. Имя класса передается в параметре ClassName, имя вызываемого метода - в параметре TemplateName. Параметры вызова передаются в параметре Params аналогично вызову executeMethod. В результате вызова функции возвращается ссылка на рабочую книгу Microsoft Excel, документ Microsoft Word и так далее. Судьба приложения, в рамках которого создан возвращенный объект, остается на усмотрение вызывающей стороны. Если вызывающая сторона предполагает взаимодействие объекта с пользователем, то необходимо обеспечить видимость объекта-приложения (Application.Visible := True;). В противном случае необходимо закрыть приложение после освобождения объекта документа (Application.Quit).
  • Функция getPropValue возвращает значение свойства объекта. Имя класса, имя свойства и идентификатор объекта задаются в параметрах.
  • Процедура setPropValue устанавливает значение свойства объекта в значение, заданное параметром Value. Для очистки значения можно использовать пустую строку или значение Null. Имя класса, имя свойства и идентификатор объекта задаются в параметрах.
  • Функция select возвращает ссылку на XML-документ, содержащий в корневом элементе элементы, представляющие собой записи набора данных на основе класса ClassName (с полями, разнесенными по элементам), определяемого структурой параметра QueryItems.
  • Функция enumerationItem возвращает идентификатор элемента перечисления по имени.
    VBScript, VBA | LItemID = enumerationItem("rsReplicatableMetadata")
    JScript | LItemID = enumerationItem("rsReplicatableMetadata");
    Object Pascal | LItemID := enumerationItem('rsReplicatableMetadata');
  • Функция getClass возвращает идентификатор объекта типа Класс TClass (Классы) по имени.
    VBScript, VBA | LClassID = getClass("TDocumentType")
    JScript | LClassID = getClass("TDocumentType");
    Object Pascal | LClassID := getClass('TDocumentType');
  • функция createGUID является оберткой над функцией Windows API CoCreateGuid. Возвращает сгенерированный глобально-уникальный идентификатор, преобразованный в строку.
  • процедура processStart информирует систему о необходимости показать окно выполнения длительного процесса. Текст, описывающий процесс (он появляется в показываемом окне) задается параметром Description. В случае, если есть возможность определить количество "шагов" процесса, то это количество необходимо передать в параметре ItemCount. В случае, если параметр ItemCount больше нуля, окно выполнения будет снабжено индикатором прогресса. Если значение ItemCount равно нулю, то окно появится без индикатора прогресса. Если значение ItemCount меньше нуля, то решение о появлении окна будет принято системой самостоятельно на основании загрузки процессора и окно процесса не появится, если процесс завершится достаточно быстро.
  • процедура processStep информирует систему о завершении очередного "шага" процесса, что найдет отражение в индикаторе прогресса окна выполнения длительного процесса, если таковые случатся.
  • процедура processStop информирует систему о завершении длительного процесса, что приведет к закрытию окна выполнения длительного процесса, если таковое случится.
  • функция PlaceDataSet осуществляет перенос данных из набора, задаваемого параметром DataSet в некоторое место документа Microsoft Office. Место назначения определяется параметром Range следующим образом:
    Microsoft Word
    • Объект Range. По месту расположения этого объекта будет создана таблица (Table), в которой будут размещены данные из набора.
      PlaceDataSet ThisDocument.Bookmarks("BookMarkName").Range, LDataSet
      PlaceDataSet Selection.Range, LDataSet
    • Объект Document. В самом начале переданного документа будет создана таблица (Table), в которой будут размещены данные из набора.
      PlaceDataSet ThisDocument, LDataSet
    Microsoft Excel
    • Объект Range. По месту расположения этого объекта (диапазона) будут размещены данные из набора. Если параметр ShiftRows задан и равен True, то заданный диапазон будет расширен вниз на необходимое количество строк, и информация, лежащая ниже переданного диапазона, будет по-прежнему лежать ниже. Если нет, то она (скорее всего) будет затёрта данными набора. Если параметр ShiftColumns задан и равен True, то этот диапазон будет расширен вправо на необходимое количество столбцов, и информация, лежащая правее переданного диапазона, будет по-прежнему лежать правее. Если нет, то она (скорее всего) будет затёрта данными набора.
      PlaceDataSet Range("C4"), LDataSet
    • Объект WorkSheet. На переданном листе будут размещены данные из набора.
      PlaceDataSet WorkSheets("HiddenSheet"), LDataSet
    Функция возвращает количество размещенных записей.
  • процедура DebugString выводит переданную в качестве аргумента строку в отладочный монитор.
  • процедура ExportObject осуществляет экспорт информации об объекте, задаваемом параметром ID в XML-документ, передаваемый в параметре Document. Если объект документа не был создан, то он создается автоматически. Если документ не имеет корневого узла, он будет создан автоматически.
    set LDataSet = CreateDataSet("TSecurityAccount")

LDataSet.AddQueryItem qpWhat, "ID"

set LDocument = CreateObject("Msxml2.DOMDocument.4.0") 'Не обязательно.

while not LDataSet.Eof
  ExportObject LDocument, LDataSet.Field("ID")
  LDataSet.Next
wend

LDocument.save "c:\RolesAndUsers.xml"
  • Функция callRoutine осуществляет вызов подпрограммы. Параметры будут запрошены у пользователя обычным порядком (с показом формы задания параметров, отработки ее скрипта и т. д.). Имя класса передается в параметре ClassName, имя вызываемой подпрограммы - в параметре RoutineName. Если пользователь разрешил выполнение подпрограммы (либо для выполнения не требовалось разрешения пользователя), функция вернет True, иначе False. Значение, возвращаемое подпрограммой, может быть возвращено через необязательный параметр RetValue. Через значение необязательного параметра ScriptPart можно передать скрипт на языке VBScript, который будет "приклеен" сверху к скрипту формы параметров вызываемой подпрограммы.
  • Функция getOleObject возвращает ссылку на Ole-объект с идентификатором класса, переданном в параметре ClassID. Объект создается на основе библиотеки кода, сохраненной в доступном файле с именем, заданным параметром AccessibleFileName. Регистр символов имени доступного файла важен.
  • Функция getResource возвращает значение ресурсной строки по имени ресурса (элемента перечислимого домена Resource strings или перевода (объекта класса TLanguageTranslation).
    MsgBox getResource("rssMyErrorMessage")
  • Функция getTempFileName возвращает сгенерированное системой имя временного файла с расширением, переданным в параметре Extension.
  • Функция selectVaue позволяет пользователю выбрать значение на основе ссылочного домена, имя которого передается в параметре ClassDomain. Вызывающая сторона может реализовать интерфейс IContextExpressionInfo, через который передается информация о контексте вызова для интерпретации выражений условий отбора, и передать ссылку на него через параметр ExpressionContext. Выбранное значение передается в обе стороны через параметр Value. Если пользователь подтвердил выбор значения, функция возвращает значение True, и устанавливает значение параметра Value, равное идентификатору выбранного пользователем объекта. Если пользователь отказался от выбора, функция возвращает значение False.
  • Процедура raiseManagedException возбуждает управляемую исключительную ситуацию с сообщением для пользователя, заданным параметром ExceptionMessage.
  • Функция getCRC возвращает шестнадцатиричное представление контрольной суммы переданных в параметре Data данных. Параметр может быть
    • Объектом, реализующим интерфейс IBinaryData
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Объектом, реализующим интерфейс IFile объектной модели FileSystemObject
    • Строкой данных. Строка будет преобразована в байты в соответствии с кодировкой UTF-8.
  • Функция downloadData осуществляет обращение к указанному ресурсу по протоколу http (https), и возвращает ответ сервера в виде объекта, реализующего интерфейс IBinaryData. Параметр Host определяет http-сервер, параметр Url - Url, к которому будет происходить обращение. Параметры UserName и Password определяют имя пользователя и пароль, если http-сервер требует авторизовать пользователя. Параметр NegotiateAuth устанавливает режим аутентификации. (Basic или Negotiate). Параметры PostData, PostContentType и PostDataIsBinary определяют содержимое тела POST-запроса (если не определено, функция отправит GET-запрос). Параметр CanCache позволяет использовать локальный кеш http-ответов. Параметр NewSession требует принудительного создания новой сессии при вызове функции. Параметр TimeOut определяет максимальное время ожидания ответа в секундах.
  • Функция createBinaryData создает пустой объект, реализующий интерфейс IBinaryData.
  • Функция BinaryToBitmap конвертирует переданный графический файл в формат BMP. Объекты во входном и выходном параметрах должны реализовывать интерфейс IBinaryData.
  • Функция editValues создает и показывает форму редактирования группы значений. Параметр ValuesList содержит идентификатор объекта класса TObjectList. Этот список содержит ссылки на редактируемые значения (объекты класса TTypedValue), и командные кнопки формы (объекты класса TTypedValueButton). Параметр Title определяет заголовок формы, параметр UseTabs определяет, будут ли показаны закладки на форме редактирования. Параметр HideOKButton позволяет скрыть кнопку "OK" на показываемой форме. Параметр ScriptPart определяет скрипт показываемой формы.

      LValue1 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value1", "Первый параметр", Null, Null, _
    "TLongString", Null, Null, Null, Null, Null, "Значение по  умолчанию первого параметра"))
  LValue2 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value2", "Второй параметр", Null, Null, _
    "TLongString", Null, Null, Null, Null, Null, "Значение по  умолчанию второго параметра"))

  LValues = executeMethod("TObjectList", "CreateFromString", _
    LValue1 & ";" & LValue2)

  if editValues(LValues, "Введите два строковых значения, друзья", True, False, "") then
    MsgBox getPropValue("TTypedValue", "StrValue", LValue1) & _
      " " & _
      getPropValue("TTypedValue", "StrValue", LValue2)
  end if

  executeMethod "TObject", "Destroy", LValues
  executeMethod "TObject", "Destroy", LValue1
  executeMethod "TObject", "Destroy", LValue2

      LScriptPart =  "Buttons(""NextButton"").Enabled = ParentForm.NavigatorCanNext" & Chr(10) & _
    "Buttons(""PrevButton"").Enabled = ParentForm.NavigatorCanPrevious"

  LValue1 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value1", "Первый параметр", Null, Null, "TLongString", Null, Null, Null, Null, Null, _
    "Значение по  умолчанию первого параметра"))
  LValue2 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value2", "Второй параметр", Null, Null, "TLongString", Null, Null, Null, Null, Null, _
    "Значение по  умолчанию второго параметра"))

  LNextButton = executeMethod ("TTypedValueButton", "Create", Array("NextButton", "Вперед!", _
    Null, Null, Null, Null, 0, Null, Null, _
    "ParentForm.NavigatorNext"  & Chr(10) & LScriptPart, enumerationItem("scPublic"), 1, Null))

  LPrevButton = executeMethod ("TTypedValueButton", "Create", Array("PrevButton", "Назад!", _
    Null, Null, Null, Null, 1, Null, Null, _
    "ParentForm.NavigatorPrevious" & Chr(10) & LScriptPart, enumerationItem("scPublic"), 1, Null))

  LValues = executeMethod("TObjectList", "CreateFromString", _
    LValue1 & ";" & LValue2 & ";" & LNextButton & ";" & LPrevButton)

  if editValues(LValues, "Введите два строковых значения, друзья", True, True, LScriptPart) then
    MsgBox getPropValue("TTypedValue", "StrValue", LValue1) & _
      " " & _
      getPropValue("TTypedValue", "StrValue", LValue2)
  end if

  executeMethod "TObject", "Destroy", LValues
  executeMethod "TObject", "Destroy", LValue1
  executeMethod "TObject", "Destroy", LValue2
  executeMethod "TObject", "Destroy", LNextButton
  executeMethod "TObject", "Destroy", LPrevButton

  • Функции MsgBox и ShowMsgBox (это синонимы одной точки входа) полностью аналогичны функции Basic MsgBox по поведению и набору параметров.
  • Функция buildNamedFile формирует значение типа "Именованный файл" на основе объекта, реализующего интерфейс IBinaryData (параметр Data) и информации об имени и параметрах именованного файла.
  • Процедура parseNamedFile разбирает значение типа "Именованный файл". Выходной параметр FileName будет содержать сохраненное имя файла, выходной параметр Data - объект, реализующего интерфейс IBinaryData и содержащий данные именованного файла.
  • Свойство ContextObject позволяет получить ссылку на этот же самый контекстный объект.
  • Свойство UserName позволяет получить логин текущего пользователя.
  • Свойство NegotiateAuth позволяет получить признак доменной аутентификации пользователя.
  • Свойство Language позволяет получать и устанавливать текущий языковой контекст, в котором будут выполняться обращения к БД. Значение свойства либо пустая строка (используется язык БД по умолчанию), либо имя объекта класса TLanguage
  • Свойство Variable позволяет сохранять и получать произвольные значения, которые могут хранится постоянно (в реестре) или только в текущем сеансе, в зависимости от параметра Persistent.
    'сохранить на время текущего сеанса значение в переменную с именем SameVariableName
Variable("SameVariableName", False) = "Value"

'получить значение переменной с именем SameVariableName хранимой в текущем сеансе
LValue = Variable("SameVariableName", False)
  • Процедура showView осуществляет показ в модальном окне представления с именем ViewName. С помощью параметров DetailPropertyName и Key можно наложить на представление дополнительное условие отбора.

2. Интерфейс IContextDataSet
  IContextDataSet = interface(IDispatch)
    ['{466F3AF7-F899-4BC1-869D-1B17DCB86159}']
    procedure AddQueryItem(Part: TQueryPart; const Name: WideString;
      Value: OleVariant; Special: TQuerySpecial; Context: OleVariant);
    function Eof: WordBool;
    function Field(const Name: WideString): OleVariant;
    function FieldCount: Integer;
    function FieldName(Index: Integer): WideString;
    procedure Next;
  end;

Интерфейс предоставляет возможности формирования и выполнения запросов к базе данных с целью получения свойств объектов определенного класса, предоставляет доступ к объекту набора данных. Работа с объектом, реализующим интерфейс IContextDataSet заключается в формировании структуры набора данных и последующих обращениях к ним.

  • Процедура AddQueryItem добавляет элемент набора данных. Элементы могут добавляться в любом порядке до первого обращения к данным набора. Символические имена всех предопределенных для параметров этого метода констант являются членами интерфейса IConstants.
    • часть запроса определяется параметром Part, который может принимать одно из следующих предопределенных значений:
      Символическое имя | Числовое значение | Описание
      qpWhat | 0 | Добавляет поле (столбец), определяемое параметром Name, к результирующему набору данных. Параметр Value игнорируется.
      qpWhere | 1 | Определяет условие, налагаемое на свойства объектов класса, передаваемое остальными параметрами.
      qpOrder | 2 | Определяет порядок сортировки записей результирующего набора данных. Параметр Value игнорируется.
      qpGroup | 3 | Определяет, что записи результирующего набора данных будут сгруппированы по столбцу, переданному в параметре Name. Параметры Value и Special игнорируются.
    • параметр Name должен быть именем свойства класса, на котором основан набор данных, либо зарезервированным словом "ID" (без кавычек).
    • параметр Value (необязательный) определяет условия отбора, накладываемые на свойство, заданное параметром Name. Имеет смысл только если значение параметра Part равно qpWhere. Условие задается посредством строки, интерпретируемой следующим образом:
      • строка разделяется на части посредством системного разделителя
      • каждая часть интерпретируется самостоятельно, и эти части объединяются логическим "ИЛИ"
      • при интерпретации каждой части проверяются следующие условия:
        * проверка значения на непустоту (IS NOT NULL)
        !* проверка значения на пустоту (IS NULL)
        начинается с символов
        '<=', '<', '>=', '>'         		проверка соответствующего отношения между значением свойства, переданного параметром Name и оставшейся частью строки
        включает в себя символы '*' и/или '?' | проверка соответствия значения шаблону, в котором знак '?' соответствует одному любому символу, а знак '*' - любому количеству любых символов
        начинается с символа '!' | символ '!' означает отрицание условия, переданного оставшейся частью строки
        представляет собой строку в апострофах (одиночных кавычках) | содержание строки не анализируется по приведенным выше условиям
        любая другая строка | проверка равенства значения свойства, переданного параметром Name значению, переданному строкой
    • параметр Special (необязательный) обеспечивает дополнительное поведение набора данных (если параметр Special используется, необходимо использовать и параметр Value, можно передавать пустую строку):
      Символическое имя | Числовое значение | Описание
      qsNone | 0 | Параметр не используется. Значение по умолчанию.
      qsDescending | 7 | Используется при значении qpOrder параметра Part. В этом случае производится сортировка по убыванию.
      qsCount | 8 | Используется при значении qpWhat параметра Part. Определяют тип агрегации по свойству, заданному параметром Name.
      qsSum | 9
      qsMin | 10
      qsMax | 11
      qsAverage | 12
      qsFunction | 22 | Используется для включения в запрос вызова функции. Используется при значении qpWhat параметра Part.
    • параметр Context (необязательный) определяет дополнительные параметры элемента запроса.
    'включить в набор данных свойство Name
LDataSet.AddQueryItem 0, "Name"
'включить в набор данных среднее значение цены
LDataSet.AddQueryItem 0, "Price", "", 12
'включить в набор данных идентификатор объекта
LDataSet.AddQueryItem 0, "ID"
'включить в набор данных вызов функции. В поле IsCompany будет значение True, если объект является организацией
LDataSet.AddQueryItem 0, "IsCompany", "TObject.IsInstanceOf", 22, Array(getClass("TCompany"))
'наложить на набор данных условие
LDataSet.AddQueryItem 1, "Organization", "фирма Елочка"

    LDataSet.AddQueryItem 0, "Organization"              '(1)
LDataSet.AddQueryItem 0, "SalesCount", "", "9"       '(2)
LDataSet.AddQueryItem 1, "SaleDate", ">10.09.2005"   '(3)
LDataSet.AddQueryItem 2, "Organization"              '(4)
LDataSet.AddQueryItem 3, "Organization"              '(5)
    Производится отбор из класса, описывающего число продаж некоего продукта различными организациями. При этом в набор данных включаются колонки "Organization" (строка 1) и "SalesCount" (строка 2). При этом будет произведена группировка по свойству "Organization" (строка 5) (что гарантирует вхождение каждой организации в результирующий набор данных не более одного раза). Набор данных будет отсортирован по организации (строка 4). При этом в колонке "SalesCount" будет сумма (строка 2) всех продаж, осуществленных каждой организацией после 10.09.2005 (строка 3).
  • Функция FieldCount возвращает количество полей (столбцов) набора данных.
  • Функция FieldName возвращает имя поля (столбца) с номером, переданным в параметре Index.
  • Функция Field возвращает значение, содержащееся в поле с именем или индексом, заданным параметром Name (строкового типа) текущей записи набора данных. При первом обращении к набору данных текущей является первая запись. Если параметр определяет номер, то поиск поля производится по номеру. Если имя, то по имени.
  • Процедура Next осуществляет переход к следующей записи набора данных.
  • Функция Eof возвращает False, если текущая запись набора данных существует; в случаях, если набор данных пустой, или при помощи метода Next достигнут конец набора данных, возвращает True.
    If LDataSet.Eof then
  'набор данных пуст. Ничего не отобрано.
Else
  While Not LDataSet.Eof
    'работа с очередной отобранной записью
    Cells(LRow, 1).Value = LDataSet.Field("Name")
    Cells(LRow, 2).Value = LDataSet.Field("Description")
    Cells(LRow, 2).Value = LDataSet.Field("Count")
    'переход к следующей записи
    LDataSet.Next
    LRow = LRow + 1
  Wend
End If

3. Интерфейс IConstants
  IConstants = interface(IDispatch)
    ['{7E7B2D66-5E7C-496A-AE06-EFC485007500}']
    property qpWhat: Integer;
    property qpWhere: Integer;
    property qpOrder: Integer;
    property qpGroup: Integer;
    property qpHaving: Integer;
    property qsNone: Integer;
    property qsObjectID: Integer;
    property qsParentID: Integer;
    property qsHasChildren: Integer;
    property qsFilterCondition: Integer;
    property qsUplink: Integer;
    property qsRootOnly: Integer;
    property qsDescending: Integer;
    property qsCount: Integer;
    property qsSum: Integer;
    property qsMin: Integer;
    property qsMax: Integer;
    property qsAverage: Integer;
    property qsMasterLink: Integer;
    property qsSelectedOnly: Integer;
  end;

Интерфейс предоставляет символические имена констант, необходимых для работы с объектом, реализующим интерфейс IContextDataSet.

Свойство | Значение
qpWhat | 0
qpWhere | 1
qpOrder | 2
qpGroup | 3
qpHaving | 4
qsNone | 0
qsObjectID | 1
qsParentID | 2
qsHasChildren | 3
qsFilterCondition | 4
qsUplink | 5
qsRootOnly | 6
qsDescending | 7
qsCount | 8
qsSum | 9
qsMin | 10
qsMax | 11
qsAverage | 12
qsMasterLink | 13
qsSelectedOnly | 14

4. Интерфейс IFormContext
  IFormContext = interface(IDispatch)
    ['{1944F1C8-CAEA-4CF9-9A4D-CE3423508FF7}']
    function ChangedControl: OleVariant;
    function ControlCount: Integer;
    function ButtonCount: Integer;
    function ID: WideString;
    procedure Cancel;
    function ControlExists(const Name: WideString): WordBool;
    function ChangedControlName: WideString;
    function ParentForm: OleVariant;
    function RoutineID: WideString;
    procedure PreInitControl(const Name: WideString; Value: OleVariant);
    procedure NavigatorNext;
    procedure NavigatorPrevious;
    function NavigatorCanNext: WordBool;
    function NavigatorCanPrevious: WordBool;
    procedure RefreshView(RefreshAll: WordBool);
    function ExpressionContextValue(const Name: WideString): OleVariant; safecall;
    property Controls[Name: OleVariant]: IControl;
    property Buttons[Name: OleVariant]: IButton;
    property Enabled: WordBool;
  end;

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

  • Функция ChangedControl возвращает объект, реализующий интерфейс IControl, соответствующий элементу управления, изменение которого вызвало исполнение скрипта формы параметров. Если выполнение скрипта вызвано инициализацией формы задания параметров, то значение функции - Empty. Пустоту значения можно проверить с помощью функции VBScript IsEmpty.
  • Функция ControlCount возвращает число элементов управления на форме параметров, как видимых так и невидимых.
  • Функция ButtonCount возвращает число командных кнопок на форме параметров, как видимых так и невидимых.
  • Функция ID возвращает значение идентификатора объекта, для которого вызван метод. Для методов класса возвращает пустое значение.
  • Функция ControlExists возвращает True, если элемент управления с именем Name существует на форме, и, соответственно, существует соответствующий параметр.
  • Функция ChangedControlName возвращает имя элемента управления, изменение которого вызвало исполнение скрипта формы параметров. Если выполнение скрипта вызвано инициализацией формы задания параметров, то значение функции - пустая строка.
  • Процедура Cancel прекращет работу формы задания параметров. Форма закрывается, выполнение действия блокируется.
  • Функция ParentForm возвращает ссылку на контекст родительской формы в цепочке вызовов. В контексте первой формы (вызванной с грида немодальной формы) возвращает пустое значение (Empty). Пустоту значения можно проверить с помощью функции VBScript IsEmpty.
  • Функция RoutineID возвращает идентификатор подпрограммы, для которой вызвана форма.
  • Процедура PreInitControl имитирует предварительную инициализацию элемента управления с именем Name значением, переданным в параметре Value. Сам элемент управления при этом будет скрыт, и не будет показан вплоть до следующего вызова формы пользователем.
  • Процедура NavigatorNext выполняет переход к следующему объекту набора данных, для которого показывается форма параметров.
  • Процедура NavigatorPrevious выполняет переход к предыдущему объекту набора данных, для которого показывается форма параметров.
  • Функция NavigatorCanNext возвращает True, если возможен переход к следующему объекту набора данных, для которого показывается форма параметров.
  • Функция NavigatorCanPrevious возвращает True, если возможен переход к предыдущему объекту набора данных, для которого показывается форма параметров.
  • Процедура RefreshView обновляет набор данных, для которого показывается форма параметров. Если значение параметра RefreshAll равно True, то будет обновлен весь набор, если False, то только выделенные записи.
  • Свойство Controls позволяет обращаться к элементам управления на форме задания параметров, их свойствам и методам. Каждый элемент управления реализует интерфейс IControl. В параметре Name (строкового типа)может быть передано как имя элемента управления, так и его индекс (в этом случае индекс должен быть передан как строка). Имена элементов управления на форме параметров соответствуют именам параметров подпрограммы (метода, отчета, etc).
  • Свойство Buttons позволяет обращаться к командным кнопкам на форме задания параметров, их свойствам и методам. Каждая командная кнопка реализует интерфейс IButton. В параметре Name (строкового типа)может быть передано как имя командной кнопки, так и ее индекс (в этом случае индекс должен быть передан как строка).
  • Свойство Enabled позволяет получать и устанавливать доступность кнопки OK на форме задания параметров. Если на форме есть невалидные (имеющие недопустимые значения) элементы управления, значение свойства всегда равно False и устанавливать его в явном виде в True не рекомендуется. Для учета дополнительного условия рекомендуется использовать следующую конструкцию: Enabled = Enabled and (Controls("SalesCount").Value > 10)
  • Функция ExpressionContextValue возвращает значение переменной контекста с именем Name, которая используется для интeрпретации выражений условий отбора на форме.

5. Интерфейс IControl
  IControl = interface(IDispatch)
    ['{0662001F-D3D5-4F28-98AC-9B499F70E856}']
    function Name: WideString;
    procedure SetHint(const Value: WideString);
    procedure RefreshLinkedView;
    property Value: OleVariant;
    property ReadOnly: WordBool;
    property IsValid: WordBool;
    property IsEmpty: WordBool;
  end;

Моделирует элемент управления на форме задания параметров. Позволяет управлять поведением элементов управления на форме.

  • Функция Name возвращает имя элемента управления; имена элементов управления всегда совпадают с именамим соответствующих параметров подпрограммы.
  • Процедура SetHint устанавливает текст всплывающей подсказки элемента управления. Всплывыющая подсказка показывается только если значение элемента управления недопустимо (свойство IsValid равно False).
  • Процедура RefreshLinkedView обновит связанное с элементом управления представление.
  • Свойство Value позволяет получать и устанавливать значение, введенное в элемент управления.
  • Свойство ReadOnly позволяет получать и устанавливать доступность элемента управления для записи; при значении True элемент управления не доступен для записи и отображается неактивным.
  • Свойство IsValid позволяет получать и устанавливать "валидность" элемента управления; по умолчанию валидным элемент управления является в том случае, если введенное в него значение соответствует домену соответствующего параметра подпрограммы с учетом наложенного на него условия отбора.
  • Свойство IsEmpty имеет значение True в случае, если в элемент управления не введено никакого значения (элемент управления пустой), в противном случае имеет значение False.

6. Интерфейс IButton
  IButton = interface(IDispatch)
    ['{1618406F-B9F1-4C5F-BC35-C2A154837CA9}']
    function Name: WideString; safecall;
    procedure Click; safecall;
    property Enabled: WordBool;
  end;

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

  • Функция Name возвращает имя кнопки.
  • Процедура Click эмулирует нажатие на кнопку.
  • Свойство Enabled позволяет получать и устанавливать доступность кнопки.

7. Интерфейс IBinaryData
  IBinaryData = interface(IDispatch)
    ['{8A9F7CB3-230A-4048-B938-852CBF6ADB2D}']
    procedure Load(const Src: OleVariant);
    procedure Append(const Src: OleVariant);
    procedure Save(const Dst: OleVariant);
    function Size: Cardinal;
    function ToString(Encoding: WideString): WideString;
    procedure FromString(Data: OleVariant);
    procedure AppendString(Data: OleVariant);
    function ToBase64: WideString;
    procedure FromBase64(Data: OleVariant);

Представляет набор двоичных данных.

  • Процедура Load загружает двоичные данные из переданного источника. Источник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Процедура Append добавляет двоичные данные из переданного источника. Источник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Процедура Save сохраняет двоичные данные в переданный приемник. Приемник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Функция ToString переводит данные в строку. Байты, содержашиеся в объекте, будут рассматриваться как содержащие строку в кодировке, заданной параметром Encoding. По умолчанию используется кодировка UTF-8
  • Процедура FromString загружает данные из строки, переданной в параметре Data, перекодировав ее в кодировку UTF-8
  • Процедура AppendString добавляет данные из строки, переданной в параметре Data, перекодировав ее в кодировку UTF-8
  • Функция ToBase64 возвращает строку, полученную путем кодирования в формат Base64, данных содержащихся в объекте
  • Процедура FromBase64 загружает данные из строки, переданной в параметре Data, раскодировав ее из формата Base64

8. Интерфейс IContextExpressionInfo
  IContextExpressionInfo = interface(IUnknown)
    ['{C7518427-B515-4EB4-B698-88656E6CBF7C}']
    function Count: Integer;
    function ItemName(Index: Integer): WideString;
    function ItemValue(Index: Integer): OleVariant;
    function ItemDomain(Index: Integer): OleVariant;
  end;

Через реализацию этого интерфейса передаются значения контекстных переменных при обращении к функции selectValue интерфейса IContext.

  • Функция Count возвращает количество используемых контекстных переменных. Нумерация контекстных переменных начинается с нуля.
  • Функция ItemName возвращает имя контекстной переменной c номером, переданным в параметре Index.
  • Функция ItemValue возвращает значение контекстной переменной c номером, переданным в параметре Index.
  • Функция ItemDomain возвращает имя домена контекстной переменной c номером, переданным в параметре Index.

9. Интерфейс IExceptionHandler
  IExceptionHandler = interface(IDispatch)
    ['{3C3C7202-5ED5-4EB4-9CDD-A929C18CA8BD}']
    procedure HandleException(ContextObject: OleVariant;
      const Message: WideString;
      const ExtentedInfo: WideString);
  end;

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

Для реализации интерфеса используется библиотека hse.tlb, входящая в состав поставки решения. Перед началом работы с ней, необходимо зарегистрировать ее в операционной системе.

Для установки настроек интерфейса необходимо открыть Системную форму раздела АДМИНИСТРАТОРУ, перейти на вкладку Настройки и в столбце "Заголовок закладки" установить фильтр "Обработка ошибок".

После этого в качестве значения Идентификатора класса установить "IExceptionHandler" без кавычек.

Для Библиотеки кода указать значение HSE.tlb


Мельница данных ((раздел целиком))

Мельница данных- Класс TExcelTemplate (Шаблоны отчетов Excel) (раздел целиком) (23.04.2022) (одним файлом)
Класс TExcelTemplate (Шаблоны отчетов Excel)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

1. Конструктор TExcelTemplate.Create (Конструктор шаблона Excel)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TExcelTemplateData (Данные Excel-шаблона) |  | Доступен |
PlaceDataOnSheet (Лист для переноса данных) | TExcelSheetKind (Тип листа Excel) |  | Доступен |
MacroName (Имя макроса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TExcelTemplate (Шаблоны отчетов Excel) .

2. Поле TExcelTemplate.FMacroName (Имя макроса)
FMacroName: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TExcelTemplate.MacroName (Имя макроса)
.

3. Поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных)
FPlaceDataOnSheet: TExcelSheetKind (Тип листа Excel) (обязательно для заполнения) .

Используется для хранения значений свойства TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)
.

4. Поле TExcelTemplate.FTemplateData (Данные шаблона)
FTemplateData: TExcelTemplateData (Данные Excel-шаблона) .

Используется для хранения значений свойства TExcelTemplate.TemplateData (Данные шаблона)
.

5. Свойство TExcelTemplate.MacroName (Имя макроса)
MacroName: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TExcelTemplate.FMacroName (Имя макроса) .

6. Свойство TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)
PlaceDataOnSheet: TExcelSheetKind (Тип листа Excel) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных) .

7. Свойство TExcelTemplate.TemplateData (Данные шаблона)
TemplateData: TExcelTemplateData (Данные Excel-шаблона) .

Для чтения и записи свойства используется поле TExcelTemplate.FTemplateData (Данные шаблона) .


Мельница данных ((раздел целиком))

Мельница данных- Требования к провайдеру (раздел целиком) (23.04.2022) (одним файлом)
Требования к провайдеру

Интерфейсы провайдера описаны в библиотеке типов файла QueryBuilder.exe и в файле QueryBuilder_TLB.pas. Собственно, объект-провайдер реализует Интерфейс IInfoProvider. Каждый CoClass, реализующий указанный интерфейс, прописывается в ветке реестра HKLM\Software\QueryBuilder\Providers добавлением параметра, имя которого определяет наименование провайдера, а значение - CLSID провайдера.

Метаданные (информация о таблицах, полях и типах данных) предоставляются в виде именованных элементов, то есть каждый из них реализует интерфейс INamedItemInfo

1. Интерфейс IInfoProvider
Провайдер реализует интерфейс
  IInfoProvider = interface(IUnknown)
    ['{64F8072B-7250-4C57-BA8E-D018C7B72CC7}']
    function Get_TableCount: Integer; safecall;
    function Get_Table(Index: Integer): ITableInfo; safecall;
    function Perform(const SQL: WideString): IDataSet; safecall;
    procedure Connect(const DataBase: WideString;
      const UserName: WideString;
      const Password: WideString); safecall;
    function Get_CLSID: TGUID; safecall;
    function Get_DateLiteral: WideString; safecall;
    function Get_TimeLiteral: WideString; safecall;
    function Get_DateTimeLiteral: WideString; safecall;
  end;
  • функция Get_CLSID возвращает GUID класса-провайдера.
  • процедура Connect осуществляет соединение с БД.
  • функция Get_TableCount возвращает количество таблиц, доступ к которым предоставляется провайдером.
  • функция Get_Table возвращает ссылку на информацию о таблице с номером Index. Ссылка на интерфейс ITableInfo или интерфейс ITableInfo2
  • функция Perform принимает текст сформированного SQL-запроса и возвращает ссылку на набор данных. Набор данных реализует интерфейс IDataSet.
  • функция Get_DateLiteral возвращает строку, определяющую способ включения в запрос литерала типа "Дата".
  • функция Get_TimeLiteral возвращает строку, определяющую способ включения в запрос литерала типа "Время".
  • функция Get_DateTimeLiteralвозвращает строку, определяющую способ включения в запрос литерала типа "Дата со временем".

2. Интерфейс IDataSet
Набор данных реализует интерфейс
   IDataSet = interface(IUnknown)
    ['{3CED7395-8482-4EF6-8A15-7744348063C2}']
    function Get_FieldCount: Integer; safecall;
    function Get_FieldName(Index: Integer): WideString; safecall;
    function Get_Field(FieldIndex: OleVariant): OleVariant; safecall;
    procedure Next; safecall;
    function Eof: WordBool; safecall;
  end;
Набор данных представляет собой однонаправленный курсор, каждая строка которого является набором именованных и нумерованных полей.
  • процедура Next осуществляет переход к следующей записи курсора.
  • функция Eof возвращает True в случае достижения конца курсора.
  • функция Get_FieldCount возвращает количество полей в строке курсора.
  • функция Get_FieldName возвращает имя поля с номером Index.
  • функция Get_Field возвращает значение поля, имя или номер которого задан параметром (если строка, то имя, если число, то номер). Допустимо возвращать значение Null для пустых полей.

3. Интерфейс INamedItemInfo
Каждый элемент метаданных (таблица, поле, тип) обязательно реализует интерфейс
  INamedItemInfo = interface(IUnknown)
    ['{14894363-28DA-4E71-B0BC-9C5CE811BC8F}']
    function Get_Name: WideString; safecall;
    function Get_Caption: WideString; safecall;
    function Get_ID: WideString; safecall;
  end;

Именованный элемент имеет имя, наименование и идентификатор. Имя используется для именования сущности в сформированном SQL-запросе, идентификатор необходим для идентификации сущности в рамках провайдера, таблицы и типы данных имеют глобальное пространство идентификаторов, поля имеют уникальные идентификаторы в пределах последовательности наследуемых таблиц. Никаких ограничений на значения идентификаторов, кроме уникальности, не накладывается.

  • функция Get_Name возвращает имя сущности.
  • функция Get_Caption возвращает наименование сущности.
  • функция Get_ID возвращает идентификатор сущности.

4. Интерфейс ITableInfo
Информация о таблице представляется объектом через интерфейс (наследник INamedItemInfo )
  ITableInfo = interface(INamedItemInfo)
    ['{3FC1998A-9031-4936-82B5-8CAA2219085E}']
    function Get_FieldCount: Integer; safecall;
    function Get_Field(Index: Integer): IFieldInfo; safecall;
    function Get_PrimaryKey: IFieldInfo; safecall;
    function Get_Uplink: IFieldInfo; safecall;
    function Get_Parent: ITableInfo; safecall;
  end;
  • функция Get_FieldCount возвращает количество полей в таблице.
  • функция Get_Field возвращает ссылку на поле с номером Index. Ссылка на интерфейс IFieldInfo
  • функция Get_PrimaryKey возвращает ссылку на поле, являющееся первичным ключем. Это поле должно быть задано.
  • функция Get_Uplink возвращает ссылку на поле, осуществляющее иерархическую связь между записями таблицы. Если это поле задано, записи отображаются в виде иерархии.
  • функция Get_Parent возвращает ссылку на родительскую таблицу. Дочерняя таблица связана с родительской первичными ключами, т. е. соотношением 1:1. Если таблица не имеет родительской, возвращается nil.

4.1. Интерфейс ITableInfo2
Для таблиц, имеющих полиморфные ссылки, реализуется интерфейс (наследник ITableInfo )
  ITableInfo2 = interface(ITableInfo)
    ['{9DF4C8AC-1DA2-4E7B-BF44-7EDD7A269418}']
    function Get_PolymorphCount: Integer; safecall;
    function Get_PolymorphTable(Index: Integer): ITableInfo; safecall;
    function Get_PolymorphField(Index: Integer): IFieldInfo; safecall;
  end;
Полиморфной ссылкой является, например, ссылка, физически размещенная в родительской таблице, указывающая на свою запись. Реализация этого интерфейса не является обязательной.
  • функция Get_PolymorphCount возвращает количество полиморфных ссылок.
  • функция Get_PolymorphTable возвращает ссылку на таблицу, на которую указывает полиморфная ссылка номер Index.
  • функция Get_PolymorphTable возвращает ссылку на поле, реализующее полиморфную ссылку номер Index. Это поле должно иметь тип dtReference, информация о его типе должна реализовать интерфейс IReferenceInfo. Значение, возвращаемое функцией Get_TargetTable этого интерфейса в данном случае не имеет значения и игнорируется.

4.2. Интерфейс ITableInfo3
Для таблиц, при запросах к которым требуется наложение дополнительных условий отбора, реализуется интерфейс (наследник ITableInfo )
  ITableInfo3 = interface(ITableInfo)
    ['{3FB73AA9-010C-48DA-81C7-E1DCFE2E6136}']
    function GetPersistentClause(const Alias: WideString): WideString; safecall;
    function GetPreConditionsCount: Integer; safecall;
    function GetPreConditionCaption(Index: Integer): WideString; safecall;
    function GetPreConditionCategory(Index: Integer): WideString; safecall;
    function Get_ActivePreCondition(Index: Integer): WordBool; safecall;
    procedure Set_ActivePreCondition(Index: Integer; Value: WordBool); safecall;
    function GetPreConditionParamsCount(Index: Integer): Integer; safecall;
    function GetPreConditionParam(Index: Integer; PreConditionIndex: Integer): IOptionInfo; safecall;
  end;
  • функция GetPersistentClause возвращает выражение дополнительного условия отбора. Алиас таблицы передается в параметре Alias.

5. Интерфейс IFieldInfo
Информация о поле поставляется объектом, реализующим интерфейс (наследник INamedItemInfo )
  IFieldInfo = interface(INamedItemInfo)
    ['{19054DAD-8D35-4B39-8EB7-FD3254BD2934}']
    function Get_TypeInfo: ITypeInfo; safecall;
    function Get_DisplayMode: TDisplayMode; safecall;
  end;
  • функция Get_DisplayMode возвращает роль поля при показе таблицы. Возможные значения (тип TDisplayMode):
    • dmAlways - поле является ключевым, всегда показывается
    • dmNever - поле является служебным (первичным ключем, например). Никогда не показывается.
    • dmOnDemand - поле является обычным информационным, показывается по требованию пользователя.
  • функция Get_TypeInfo возвращает ссылку на информацию о типе данных поля. Возвращаете ссылку на один из интерфейсов-наследников интерфейса ITypeInfo

6. Интерфейс ITypeInfo
Информация о типах полей поставляется в виде набора объектов, каждый из которых реализует интерфейс (наследник INamedItemInfo )
  ITypeInfo = interface(INamedItemInfo)
    ['{2B6A5E20-3C36-4574-89DB-7C873A5C4A00}']
    function Get_Required: WordBool; safecall;
    function Get_SimpleType: TSimpleType; safecall;
  end;
Информация о конкретном типе передается при помощи реализации одного из наследников этого интерфейса.
  • функция Get_Required возвращает True, если значение поля обязательно для задания.
  • функция Get_SimpleType возвращает информацию о простом типе данных. В зависимости от возвращаемого значения объект должен также реализовывать один из интерфейсов конкретных типов (см. далее). Возможные значения (тип TSimpleType ):
    • dtString - строковый тип. Обязательно реализуется интерфейс IStringInfo
    • dtInteger - целочисленный тип. Обязательно реализуется интерфейс IIntegerInfo
    • dtFloat - вещественный тип. Обязательно реализуется интерфейс IFloatInfo
    • dtDate - тип "дата". Обязательно реализуется интерфейс IDateInfo
    • dtTime - тип "время". Обязательно реализуется интерфейс ITimeInfo
    • dtDateTime - тип "дата со временем". Обязательно реализуется интерфейс IDateTimeInfo
    • dtBoolean - логический тип. Обязательно реализуется интерфейс IBooleanInfo
    • dtEnumeration - перечисление. Обязательно реализуется интерфейс IEnumerationInfo
    • dtReference - ссылка. Обязательно реализуется интерфейс IReferenceInfo
    • dtBlob - Большой двоичный объект. Обязательно реализуется интерфейс IBlobInfo.

6.1. Интерфейс ITypeInfo2
Информация о предоставляемых провайдером дополнительных возможностях фильтрации (наследник интерфейса ITypeInfo)
  ITypeInfo2 = interface(ITypeInfo)
    ['{77F58BDF-F01C-40F3-B193-1027AD8C4EDA}']
    function GetSpecialFilterCount: Integer; safecall;
    function GetSpecialFilterText(Index: Integer): WideString; safecall;
    function EditSpecialFilter(Index: Integer; var Filter: WideString): WordBool; safecall;
  end;
  • функция GetSpecialFilterCount возвращает количество дополнительных элементов списка, выпадающего при выборе фильтра по колонке.
  • функция GetSpecialFilterText возвращает текст дополнительного элемента списка, выпадающего при выборе фильтра по колонке, с номером Index.
  • функция EditSpecialFilter вызывается в момент выбора пользователем дополнительного элемента списка, выпадающего при выборе фильтра по колонке, с номером Index. Значение выражения фильтра передается и возвращается в параметре Filter. Функция возвращает True в случае, если выражение, возвращенное в параметре Filter нужно применить для фильтрации столбца запроса, False - в противном случае.

6.2. Интерфейс IStringInfo
Информация о строковом типе (наследник интерфейса ITypeInfo)
  IStringInfo = interface(ITypeInfo)
    ['{74AC4C03-E803-421B-B30D-1A2D2C49827F}']
    function Get_Length: Integer; safecall;
  end;
  • функция Get_Length возвращает максимальную длину строки.

6.3. Интерфейс IIntegerInfo
Информация о целочисленном типе (наследник интерфейса ITypeInfo)
  IIntegerInfo = interface(ITypeInfo)
    ['{9003B25E-926D-42AE-A907-813DF3A8343E}']
    function Get_MaxValue: Integer; safecall;
    function Get_MaxValueUsed: WordBool; safecall;
    function Get_MinValue: Integer; safecall;
    function Get_MinValueUsed: WordBool; safecall;
  end;
  • функция Get_MaxValueUsed возвращает True, если значение имеет верхнюю границу.
  • функция Get_MaxValue возвращает верхнюю границу значения, если есть.
  • функция Get_MinValueUsed возвращает True, если значение имеет нижнюю границу.
  • функция Get_MinValue возвращает нижнюю границу значения, если есть.

6.4. Интерфейс IFloatInfo
Информация о вещественном типе (наследник интерфейса ITypeInfo )
  IFloatInfo = interface(ITypeInfo)
    ['{E9B56C6D-47DC-4AB9-9E80-6EEF77708704}']
    function Get_MaxValue: Double; safecall;
    function Get_MaxValueUsed: WordBool; safecall;
    function Get_MinValue: Double; safecall;
    function Get_MinValueUsed: WordBool; safecall;
    function Get_Precision: Integer; safecall;
    function Get_Scale: Integer; safecall;
  end;
  • функция Get_MaxValueUsed возвращает True, если значение имеет верхнюю границу.
  • функция Get_MaxValue возвращает верхнюю границу значения, если есть.
  • функция Get_MinValueUsed возвращает True, если значение имеет нижнюю границу.
  • функция Get_MinValue возвращает нижнюю границу значения, если есть.
  • функция Get_Precision возвращает максимальное количество значащих десятичных цифр в значении.
  • функция Get_Scale возвращает максимальное количество десятичных цифр после запятой.

6.5. Интерфейс IDateInfo
Информация о типе "Дата" (без времени) (наследник интерфейса ITypeInfo )
  IDateInfo = interface(ITypeInfo)
    ['{DA392510-105F-4655-9A38-18ECA2FBEB97}']
  end;
Не имеет методов.

6.6. Интерфейс ITimeInfo
Информация о типе "Время" (без даты) (наследник интерфейса ITypeInfo )
  ITimeInfo = interface(ITypeInfo)
    ['{D7067CAC-67A5-41DB-8D95-40409D8658AB}']
  end;
Не имеет методов.

6.7. Интерфейс IDateTimeInfo
Информация о типе "Дата со времемем" (наследник интерфейса ITypeInfo )
  IDateTimeInfo = interface(ITypeInfo)
    ['{7F5CC8F9-8CE1-4DB7-8932-884EF3BAB538}']
  end;
Не имеет методов.

6.8. Интерфейс IBooleanInfo
Информация о логическом типе (наследник интерфейса ITypeInfo )
  IBooleanInfo = interface(ITypeInfo)
    ['{8256EDF9-8613-4970-850C-50047839D6BF}']
    function Get_TrueValue: WideString; safecall;
    function Get_FalseValue: WideString; safecall;
  end;
  • функция Get_TrueValue возвращает отображаемую строку для значения True (например, "Да").
  • функция Get_FalseValue возвращает отображаемую строку для значения False (например, "Нет").

6.9. Интерфейс IEnumerationInfo
Информация о перечислимом типе (наследник интерфейса ITypeInfo )
  IEnumerationInfo = interface(ITypeInfo)
    ['{B58A3F23-1AAC-4420-ADFF-B23B9938A994}']
    function Get_ItemCount: Integer; safecall;
    function Get_Item(Index: Integer): IEnumerationItem; safecall;
  end;
Перечислимый тип определяет набор значений, которые может принимать поле. Значения в таблице трактуются как равные имени элемента перечисления.
  • функция Get_ItemCount возвращает количество элементов перечисления.
  • функция Get_Item возвращает ссылку на элемент перечисления с номером Index, реализующий интерфейс IEnumerationItem

6.10. Интерфейс IReferenceInfo
Информация о типе "ссылка" (наследник интерфейса ITypeInfo )
  IReferenceInfo = interface(ITypeInfo)
    ['{309C8CB1-4A1C-4E58-BC3F-D1AF27861A8F}']
    function Get_TargetTable: ITableInfo; safecall;
  end;
  • функция Get_TargetTable возвращает ссылку на таблицу, с которой осуществляется связь. Возвращается ссылка на интерфейс ITableInfo

6.11. Интерфейс IBlobInfo
Информация о типе "больших двоичных объектов" (наследник интерфейса ITypeInfo )
  IBlobInfo = interface(ITypeInfo)
    ['{3905C9C4-EAEB-4844-BB55-3F524F1F3FAC}']
    function Get_SubType: TBlobSubType; safecall;
  end;
  • функция Get_SubType возвращает подтип большого двоичного объекта. Одно из следующих значений (тип TBlobSubType ):
    • bsText - текст
    • bsImage - изображение
    • bsBinary - двоичные данные

7. Интерфейс IEnumerationItem
Информация об элементе перечисления (наследник INamedItemInfo )
  IEnumerationItem = interface(INamedItemInfo)
    ['{6953507C-D477-4B8D-9443-A9E5FE7137ED}']
    function Get_Position: Integer; safecall;
  end;
Значения в таблице трактуются как равные имени элемента перечисления.
  • функция Get_Position возвращает позицию элемента перечисления.


Мельница данных ((раздел целиком))

Мельница данных- Свойства страницы (раздел целиком) (23.04.2022) (одним файлом)
Свойства страницы

Для создания страницы используется функция

function CreatePage(Parent: OleVariant): IPDFPage;

Параметр Parent указывает страницу-родителя для данной страницы. Если страницы- родителя быть не должно - формат вызова функции примет вид:

set page = CreatePage(Null)

Параметры страницы:

  • Title - заголовок страницы.
    page.Title = "Page name"
  • Width - ширина страницы, миллиметры
    page.Width = 80
  • Height - высота страницы, миллиметры
    page.Height = 80
  • DrawGrid - процедура, выводящая на страницу сетку с шагом 5 миллиметров для удобства отладки вида документа.
  • Perform - процедура, позволяющая выполнить дополнительные команды PostScript на странице.
    page.perform "1 0.7 0 0 k"
    page.perform "0 0 m"

1. Объявление цвета

Для объявления цвета объектов на странице используется цветовая модель R:G:B (Red:Green:Blue). Объявление цвета для выполнения последующих операций (цвет шрифта, цвет линии/фигуры) осуществляется процедурой

procedure SetColor(R: Integer; G: Integer; B: Integer);
Где параметры R, G, B - значения базисных цветов для выбранного цвета (от 0 до 255).

Цвет | R | G | B |
Белый | 255 | 255 | 255 | +++
Черный | 0 | 0 | 0 | +++
Серый | 190 | 190 | 190 | +++
Синий | 0 | 0 | 255 | +++
Красный | 255 | 0 | 0 | +++
Зеленый | 0 | 255 | 0 | +++

Если предварительно цвет не был объявлен, используется цвет по умолчанию - черный (0,0,0)


Мельница данных ((раздел целиком))

Мельница данных- Класс TVisualGroupRoutine (Подпрограмма визуальной группы) (раздел целиком) (23.04.2022) (одним файлом)
Класс TVisualGroupRoutine (Подпрограмма визуальной группы)
Унаследован от класса TVisualGroupItem (Элемент визуальной группы) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

1. Конструктор TVisualGroupRoutine.Create (Конструктор подпрограммы визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) | Унаследован | Доступен |
Routine (Подпрограмма) | TVisualGroup routine domain (Подпрограмма визуальной группы) |  | Доступен |

Конструирует объект класса TVisualGroupRoutine (Подпрограмма визуальной группы) .

2. Поле TVisualGroupRoutine.FRoutine (Подпрограмма)
FRoutine: TVisualGroup routine domain (Подпрограмма визуальной группы) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupRoutine.Routine (Подпрограмма)
.

3. Свойство TVisualGroupRoutine.Routine (Подпрограмма)
Routine: TVisualGroup routine domain (Подпрограмма визуальной группы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupRoutine.FRoutine (Подпрограмма) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TInlineExpression (Встраиваемое выражение) (раздел целиком) (23.04.2022) (одним файлом)
Класс TInlineExpression (Встраиваемое выражение)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) .

1. Конструктор TInlineExpression.Create (Конструктор встраиваемого выражения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Expression (Выражение) | TInlineExpressionText (Текст выражения) |  | Доступен |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |

Конструирует объект класса TInlineExpression (Встраиваемое выражение) .

2. Поле TInlineExpression.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TInlineExpression.Domain (Домен)
.

3. Поле TInlineExpression.FExpression (Выражение)
FExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TInlineExpression.Expression (Выражение)
.

4. Свойство TInlineExpression.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInlineExpression.FDomain (Домен) .

5. Свойство TInlineExpression.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

6. Свойство TInlineExpression.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

7. Свойство TInlineExpression.Expression (Выражение)
Expression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TInlineExpression.FExpression (Выражение) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TOption (Настройки) (раздел целиком) (23.04.2022) (одним файлом)
Класс TOption (Настройки)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TOptionValue (Значения настроек)

1. Конструктор TOption.Create (Конструктор настройки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
Global (Глобальная) | Boolean (Обычное логическое) |  | Доступен |
Group (Заголовок группы) | TCaption (Заголовки) |  | Доступен |
Tab (Заголовок закладки) | TCaption (Заголовки) |  | Доступен |
Position (Позиция) | Integer (Целое) |  | Доступен | GetNextPos (Следующая позиция)

Конструирует объект класса TOption (Настройки) .

2. Поле TOption.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TOption.Domain (Домен)
TOptionValue.Domain (Домен)
.

3. Поле TOption.FGlobal (Глобальная)
FGlobal: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TOption.Global (Глобальная)
TOptionValue.Global (Глобальная)
.

4. Поле TOption.FGroup (Заголовок группы)
FGroup: TCaption (Заголовки) .

Используется для хранения значений свойства TOption.Group (Заголовок группы)
.

5. Поле TOption.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TOption.Position (Позиция)
.

6. Поле TOption.FTab (Заголовок закладки)
FTab: TCaption (Заголовки) .

Используется для хранения значений свойства TOption.Tab (Заголовок закладки)
.

7. Процедура TOption.SetValue (Установка значения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

8. Свойство TOption.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FDomain (Домен) .

9. Свойство TOption.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

10. Свойство TOption.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

11. Свойство TOption.Global (Глобальная)
Global: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FGlobal (Глобальная) .

12. Свойство TOption.Group (Заголовок группы)
Group: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TOption.FGroup (Заголовок группы) .

13. Свойство TOption.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FPosition (Позиция) .

14. Свойство TOption.Tab (Заголовок закладки)
Tab: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TOption.FTab (Заголовок закладки) .

15. Свойство TOption.User (Пользователь)
User: TUser domain (Пользователь) .

Для чтения и записи свойства используется поле TOptionValue.FUser (Пользователь) .

Дочернее свойство свойства Value (Значение) .

16. Свойство TOption.Value (Значение)
Value: TOptionValue domain (Значение настройки) . Вычисление свойства отложено.

Для чтения значения свойства используется функция TOption.GetValue (Значение) .

17. Свойство TOption.VisibleValue (Видимое значение)
VisibleValue: TLongString (Длинная строка) .

Для чтения значения свойства используется функция TOptionValue.GetVisibleValue (Видимое значение) .

Дочернее свойство свойства Value (Значение) .

18. Функция TOption.AreValid (Настройки действительны)
Является методом класса.

Возвращает значение типа Boolean (Обычное логическое) .

19. Функция TOption.GetBlobValue (Значение-большой объект)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TBinaryData (Двоичные данные) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

20. Функция TOption.GetBoolValue (Логическое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

21. Функция TOption.GetDateTimeValue (Значение даты со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TimeStamp (Момент) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

22. Функция TOption.GetDateValue (Значение даты)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

23. Функция TOption.GetFloatValue (Вещественное значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

24. Функция TOption.GetIntValue (Целое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

25. Функция TOption.GetNextPos (Следующая позиция)
Является методом класса.

Возвращает значение типа Integer (Целое) .

Используется для инициализации значения параметра Position (Позиция) подпрограммы TOption.Create (Конструктор настройки)
.

26. Функция TOption.GetObjectValue (Значение-объект)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

27. Функция TOption.GetStrValue (Строковое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

28. Функция TOption.GetTimeValue (Значение времени)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

29. Функция TOption.GetValue (Значение)

Возвращает значение типа TOptionValue domain (Значение настройки) .

Используется для вычисления значений свойства TOption.Value (Значение)
.


Мельница данных ((раздел целиком))

Мельница данных- Класс TBanGroupAccess (Доступ к группам запретов) (раздел целиком) (23.04.2022) (одним файлом)
Класс TBanGroupAccess (Доступ к группам запретов)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

Объекты класса определяют связь между родительской группой запретов и ролью безопасности.

Имя и наименование объекта полностью определяются другими свойствами, и запрещены для изменения.

1. Конструктор TBanGroupAccess.Create (Конструктор доступа к группе запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Группа запретов) | TBanGroup domain (Группа запретов) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TBanGroupAccess (Доступ к группам запретов) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TViewAction (Действие-представление) (раздел целиком) (23.04.2022) (одним файлом)
Класс TViewAction (Действие-представление)
Унаследован от класса TAction (Действия) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

1. Конструктор TViewAction.Create (Конструктор действия-представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) | Унаследован | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) | Унаследован | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) | Унаследован | Доступен |
View (Представление) | TView of FormView domain (Представление для формы) |  | Доступен |
MasterProperty (Свойство-главное) | TMasterProperty domain (Свойство-главное) |  | Доступен |
DetailProperty (Свойство-подчиненное) | TDetailProperty domain (Свойство-подчиненное) |  | Доступен |

Конструирует объект класса TViewAction (Действие-представление) .

2. Поле TViewAction.FDetailProperty (Свойство-подчиненное)
FDetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Используется для хранения значений свойства TViewAction.DetailProperty (Свойство-подчиненное)
.

3. Поле TViewAction.FMasterProperty (Свойство-главное)
FMasterProperty: TMasterProperty domain (Свойство-главное) .

Используется для хранения значений свойства TViewAction.MasterProperty (Свойство-главное)
.

4. Поле TViewAction.FView (Представление)
FView: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Используется для хранения значений свойства TViewAction.View (Представление)
.

5. Свойство TViewAction.DetailProperty (Свойство-подчиненное)
DetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Для чтения и записи свойства используется поле TViewAction.FDetailProperty (Свойство-подчиненное) .

6. Свойство TViewAction.MasterProperty (Свойство-главное)
MasterProperty: TMasterProperty domain (Свойство-главное) .

Для чтения и записи свойства используется поле TViewAction.FMasterProperty (Свойство-главное) .

7. Свойство TViewAction.ShownClass (Показываемый класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TView.FShownClass (Класс для показа) .

Дочернее свойство свойства View (Представление) .

8. Свойство TViewAction.View (Представление)
View: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewAction.FView (Представление) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TParameter (Параметры) (раздел целиком) (23.04.2022) (одним файлом)
Класс TParameter (Параметры)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TRoutine (Подпрограмма) .

1. Конструктор TParameter.Create (Конструктор параметра)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Group (Заголовок группы) | TCaption (Заголовки) |  | Доступен |
Tab (Заголовок закладки) | TCaption (Заголовки) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
InitializationMember (Инициализируется членом класса) | TInitializationMember domain (Член класса для инициализации) |  | Доступен |

Конструирует объект класса TParameter (Параметры) .

2. Поле TParameter.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Domain (Домен)
.

3. Поле TParameter.FGroup (Заголовок группы)
FGroup: TCaption (Заголовки) .

Используется для хранения значений свойства TParameter.Group (Заголовок группы)
.

4. Поле TParameter.FInitializationMember (Инициализируется членом)
FInitializationMember: TInitializationMember domain (Член класса для инициализации) .

Используется для хранения значений свойства TParameter.InitializationMember (Инициализируется членом класса)
.

5. Поле TParameter.FOutOfTabs (За пределами закладок)

6. Поле TParameter.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Position (Позиция)
.

7. Поле TParameter.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Scope (Область видимости)
.

8. Поле TParameter.FTab (Заголовок закладки)
FTab: TCaption (Заголовки) .

Используется для хранения значений свойства TParameter.Tab (Заголовок закладки)
.

9. Свойство TParameter.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FDomain (Домен) .

10. Свойство TParameter.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

11. Свойство TParameter.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

12. Свойство TParameter.Group (Заголовок группы)
Group: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TParameter.FGroup (Заголовок группы) .

13. Свойство TParameter.InitializationMember (Инициализируется членом класса)
InitializationMember: TInitializationMember domain (Член класса для инициализации) .

Для чтения и записи свойства используется поле TParameter.FInitializationMember (Инициализируется членом) .

14. Свойство TParameter.OutOfTabs (За пределами закладок)

15. Свойство TParameter.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FPosition (Позиция) .

16. Свойство TParameter.RoutineClass (Класс подпрограммы)
RoutineClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

Дочернее свойство свойства Master (Мастер) .

17. Свойство TParameter.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FScope (Область видимости) .

18. Свойство TParameter.Tab (Заголовок закладки)
Tab: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TParameter.FTab (Заголовок закладки) .

19. Функция TParameter.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TParameter.Create (Конструктор параметра)
.


Мельница данных ((раздел целиком))

Мельница данных- Положения и определения (раздел целиком) (23.04.2022) (одним файлом)
Положения и определения

1. Работа с типами данных

1.1. Домены

2. Язык PascalScript

На языке PascalScript на платформе "Мельница данных" описываются тела методов и выражения. Выражения используются в условиях отбора объектов определенного класса при их отображении в представлениях, а также как встраиваемые выражения, которые могут служить членами класса для чтения свойств.

Здесь и далее зарезервированные слова выделены жирным шрифтом.

2.1. Структура программного блока тела метода
  [Описание переменных]
  begin
    //Операторы
  end;

Комментарии расположены между символами { и } либо от символов // до конца строки.

2.2. Описание переменных
var
    Имя переменной[, Имя переменной…]: Тип;
    Имя переменной[, Имя переменной…]: Тип;
    ...
Имя переменной должно быть идентификатором (последовательность символов a-z, A-Z, 0-9, _). "Тип" может быть одним из следующих:
  • integer - определяет переменные целочисленного типа;
  • string[целое_число] - определяет переменные строкового типа с заданной максимальной длиной; максимальная длина задается в квадратных скобках и обязательна для задания;
  • float - определяет переменные вещественного типа;
  • date - определяет переменные типа "дата";
  • time - определяет переменные типа "время";
  • datetime - определяет переменные типа "дата со временем";
  • boolean - определяет переменные логического типа;
  • blob - определяет переменные типа больших двоичных объектов;
  • Имя класса - определяет переменные-ссылки на экземпляры соответствующих классов;
  var
   I: integer;
   LSomeObject: TObject;
   LStart, LStop: datetime;
   LNewName: string[64];

2.3. Операторы PascalScript

Операторы разделяются точкой с запятой (;). Операторы могут быть одним из следующих:

2.3.1. Составной оператор
begin
  //Другие операторы
end
Операторы, размещенные внутри составного оператора, разделяются точкой с запятой. Никаких ограничений на состав операторов и количество уровней вложенности не накладывается.
begin
  Result := LCurrentValue;
  Exit;
end;

2.3.2. Оператор присваивания
Выражение1 := Выражение2

Присваивает значение выражения Выражение2 выражению Выражение1. Типы Выражения1 и Выражения2 должны быть совместимы (совпадать по классу домена либо оба быть числовыми). Для этого на Выражение1 (стоящее слева от знака равенства, lvalue) накладывается ряд ограничений. Это выражение должно быть:

  • Полем или свойством экземпляра класса
  • Локальной переменной
  • Параметром
  • Зарезервированной переменной Result
LObject.Name := 'Новое имя';
Result := 25;
LStartTime := StrToDateTime('01.01.2006 00:00:30');
var
  LObject: TObject;
  LClass: TClass;
  I: Integer;
  F: Float;
begin
  I := F;  //неверно
  F := I;  //верно
  LObject := LClass; //верно
  LClass := LObject; //неверно. Должно быть LClass := (LObject as TClass);
end;

2.3.3. Оператор вызова
ИмяПроцедуры [(Параметр1, Параметр2 ...)]

"ИмяПроцедуры" должно быть:

  • Именем метода класса и вызываться с указанием класса либо экземпляра;
  • Именем метода экземпляра и вызываться с указанием экземпляра;
  • Именем метода своего класса либо предка и вызываться без указания спецификаторов.
Порядок и количество параметров в операторе вызова должны строго совпадать с описанием метода.

  //метод класса, указан класс
  LList := TObjectList.Create(Name, Description, TObjectList, nil, nil, Folder);

  //метод экземпляра, указан экземпляр. Метод не имеет параметров.
  LList.Destroy;

  //свой либо унаследованный метод
  BuildDefaultActions(Name, True);

2.3.4. Оператор ветвления
if Выражение then
  //Оператор1
[else
  //Оператор2]

Выражение должно быть логического типа. В случае если значение Выражения истинно, выполняется Оператор1. Часть else является необязательной и относится к последнему оператору if, не имеющему таковой. В случае ее наличия Оператор2 выполняется, если значение Выражения ложно.

if LIndex > 25 then
  raise 'Индекс слишком большой.';

if LMonth = 'январь' then
  January
else if LMonth = 'февраль' then
  February
else
  OtherMonth;  //обратите внимание на точки с запятой.

2.3.5. Оператор выбора
case Выражение of
  Значение1: //Оператор1
  Значение2: //Оператор2
  ...
[else
  //Оператор ]
end

Заменяет каскад операторов if. Значение Выражения должно быть числового типа. Часть else выполняется в случае, если Выражение не равно ни одному из перечисленных вариантов. Эта часть не является обязательной.

сase LIndex of
  0: ZeroIndex;
  1,2,3: SmallIndex;
  4,5,6,7,8,9,10: BigIndex;
else
  raise 'Слишком большой или отрицательный индекс.';
end;

2.3.6. Цикл с предусловием
while Выражение do
  //Оператор

Оператор выполняется до тех пор, пока значение Выражения истинно. Выражение должно быть логического типа. Если при входе в цикл Выражение не истинно, то тело цикла не будет выполнено ни одного раза.

while LList.Count > 0 do
  LList.GetItem(0).Destroy;

while True do
begin
  LValue := LValue.NextValue;
  if LValue.Value > 10 then
  begin
    Result := LValue.Value;
    exit;
  end;
end;

2.3.7. Цикл с постусловием
repeat
  //Операторы
until Выражение

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

repeat
  Result := Result + 1;
  LObject := LObject.Parent;
until LObject = nil;

2.3.8. Цикл с параметром
for Параметр := Выражение1 (to|downto) Выражение2 do
  //Оператор

Параметр цикла обязан быть простой локальной переменной. Функционально цикл с параметром эквивалентен циклам:

  • Для формы to
    Параметр := Выражение1;
while Параметр <= Выражение2 do
    begin
  Оператор;
  Параметр :=  Параметр + 1;
end;
  • Для формы downto
    Параметр := Выражение1;
while Параметр >= Выражение2 do
    begin
  Оператор;
  Параметр :=  Параметр - 1;
end;
Если Выражение1 равно Выражению2, тело цикла будет выполнено один раз.

for I := LList.Length - 1 downto 0 do
// если LList.Length = 0, тело цикла ни разу не будет выполнено.
begin
  LClass := LList.GetItem(I);
  LMethod := any(TMethod with (Name = LName) and (Master = LClass));
  LParamList.Add(any(TMethod with (Name = LName) and (Master = LClass)));
end;

2.3.9. Цикл по экземплярам
for each Параметр of ИмяКласса [with Выражение]
       [by [-] Выражение [, [-] Выражение]] do
         //Оператор

Цикл осуществляется по выборке среди экземпляров класса ИмяКласса, для которых истинно Выражение. Если Выражение не задано, то по всем экземплярам. Ссылка на текущий в рамках цикла экземпляр присваивается в локальную переменную Параметр. Выражение должно определяться относительно переменной Параметр. Выраженния, следующие за ключевым словом by, определяют порядок обхода экземпляров. Знак "-" перед выражением (любого типа) определяет обратный порядок обхода.

for each LOption of TOption with LOption.Domain.Required do
    // для каждой настройки, домен которой обязателен
  LOption.SetDefaultValue;

2.3.10. Оператор прекращения цикла
break

Происходит немедленный выход из цикла. Выполняется финализация операторов защиты завершения, которыми защищено тело цикла. Допустим только в теле цикла с предусловием, цикла с постусловием, цикла с параметром или цикла по экземплярам.

2.3.11. Оператор выхода из подпрограммы
exit

Происходит немедленный выход из программного блока. Выполняется финализация операторов защиты завершения.

2.3.12. Оператор защиты завершения
try
  //Операторы1
finally
  //Операторы2
end

Выполняются операторы Операторы1, разделенные точкой с запятой. В случае возникновения исключительной ситуации управление сразу передается на Операторы2, и после их выполнения исключение остается активным. Если исключения не произошло, выполняются Операторы2. Если среди Операторов1 встречается оператор exit, то Операторы2 все равно выполняются.

//создание временного объекта-списка
LList := TObjectList.Create(Name, Description, TObjectList, nil, nil, Folder);
try
  LList.Add(LValue);
  Exit;
finally
  //гарантированное уничтожение созданного объекта независимо от исключений.
  LList.Destroy;
end;

2.3.13. Оператор обработки исключительных ситуаций
try
  //Операторы1
except
  //Операторы2
end

Выполняются операторы Операторы1. В случае возникновения исключительной ситуации управление передается на Операторы2. Если исключительных ситуаций не возникло, Операторы2 не выполняются никогда. При передаче управления на Операторы2 исключительная ситуация деактивирована. Для ее повторного возбуждения можно воспользоваться оператором возбуждения исключения без указания текстовой строки сообщения.

try
  LObject.NeverTouch := True;
  LObject.ExecuteCoolMethod; //если метод выполнен неудачно
except
  LObject.NeverTouch := True;  //установить флаг и ничего не сообщать пользователю.
end;

try
   LObject.ExecuteCoolMethod; //если метод выполнен неудачно
except
   LObject.Destroy; //удалить неудачный объект
   raise;           // продолжить обработку исключения.
end;

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

2.3.15. Оператор унаследованного вызова
inherited

Работает только в унаследованном переопределенном методе. Вызывается метод предка с параметрами, заданными в параметрах к моменту вызова. Если программный блок представляет собой тело функции, то в псевдопеременной Result будет результат выполнения метода предка.

// в теле конструктора
Name := 'Object name';
Description := 'Object description';
inherited; //вызов предка с параметрами Name и Description,
           //заданными двумя предыдущими операторами. Ссылка на
           //созданный объект лежит в
           //псевдопеременной Result
Result.Name := 'New name';

2.4. Выражения и операции

2.4.1. Состав выражения
Любое выражение имеет тип. Выражения состоят из следующих элементов:
  • Целая числовая константа (0 3 234);
  • Вещественная числовая константа. Дробная часть отделяется от целой точкой (".") (3.14 2.71);
  • Строковая константа. Заключается в апострофы. ('Some string' '10', '01.01.2006' 'now');
  • Логическая константа (True False);
  • Безтиповая (любого типа) константа nil;
  • Зарезервированное слово Self. Обозначает разный объект в зависимости от контекста:
    • В методах класса кроме конструктора - использование запрещено.
    • В методах экземпляра - всегда экземпляр, для которого вызван метод.
    • В конструкторе - до вызова унаследованного метода значение не определено. После вызова - ссылка на сконструированный объект.
    • В выражениях условий отбора - объект, для которого принимается решение о его вхождении в отбор.
  • Квалификатор.
  • Агрегат.

2.4.2. Квалификатор

Квалификатор обозначает объект, переменную, параметр, свойство, поле, вызов функции. Квалификатор состоит из идентификаторов, разделенных точкой.

Result
AName
Caption
LObject.Name
LObject.Parent.Name
LObject.ChildCount
LObject.HasAsParent(LOtherObject)

При интерпретации квалификатора используется следующий порядок разбора идентификатора:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Локальная переменная
  3. Параметр
  4. Имя элемента перечисления
  5. Имя класса. Вне контекста означает ссылку на соответствующий объект класса TClass
  6. Имя поля
  7. Имя метода
  8. Имя свойства

При интерпретации квалификатора внутри выражения агрегата правила разбора идентификатора изменяются:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Имя элемента перечисления
  3. Имя класса. Если это имя агрегируемого класса, то дальнейшие разыменования относятся к агрегируемому объекту
  4. Имя поля
  5. Имя метода
  6. Имя свойства
  7. Локальная переменная
  8. Параметр

2.4.3. Агрегат

Агрегат определяет агрегированное значение над экземплярами определенного класса, удовлетворяющими условиям агрегации. Агрегаты бывают следующих типов:

  • any - первый попавшийся объект. Результат имеет тип ссылки на объект агрегируемого класса.
    any(TObject with Master = Self.Parent)
//первый попавшийся объект, имеющий значение
//свойства Master равным значению свойства
//Parent текущего (контекстного) объекта.
  • count - количество объектов. Результат имеет целочисленный тип.
    count(TObject with Master = Self.Parent)
//количество объектов, имеющих значение свойства
//Master равным значению свойства Parent
//текущего объекта.
  • sum - сумма значений свойства, поля или функции объектов. Результат имеет тип суммируемого поля, свойства или функции
    sum(TExam.Mark with Master = LStudent) //сумма
//баллов студента по его испытаниям
  • max, min - соответственно максимальное и минимальное значений свойства, поля или функции объектов. Результат имеет тип агрегируемого поля, свойства или функции
    min(TObject.Created) // момент создания первого
//объекта Системы.

Внутри выражения агрегата правила разбора идентификатора изменяются на следующие:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Имя элемента перечисления
  3. Имя класса. Если это имя агрегируемого класса, то дальнейшие разыменования относятся к агрегируемому объекту
  4. Имя поля
  5. Имя метода
  6. Имя свойства
  7. Локальная переменная
  8. Параметр

2.4.4. Операции

Операции связывают элементы выражений.

Таблица операций в порядке приоритета:
Левый операнд | Правый операнд
 | Целый | Вещест- венный | Дата | Время | Дата со временем | Логи- ческий | Строковый | Объект | nil
not
Нет | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
* (звездочка)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
/ (слэш, дробь)
Целый | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
div
Целый | Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
and
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
or
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
+ (плюс)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Строковый | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
- (минус)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Целый | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Вещест- венный | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
=, <> (равно, не равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Логи- ческий
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Логи- ческий
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
<, >, <=, >= (меньше, больше, меньше либо равно, больше либо равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
is
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
as
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Объект | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено

2.4.4.1. Особенности применения операций
  1. Приоритет сравнений ниже приоритета операций булевой логики. Поэтому выражение
    LObject.Master = LMaster and LObject.Parent = LParent
    будет интерпретироваться следующим образом:
    LObject.Master = (LMaster  and LObject.Parent) = LParent
    и вызовет ошибку компиляции из-за применения операции and к объектам. Необходимо писать:
    (LObject.Master = LMaster) and (LObject.Parent = LParent)
  2. Любое значение (выражение любого типа) сравнивается с безтиповой константой nil:
          LObject := any(TObject with Name = 'Some name');
      if LObject = nil then
         .....
  3. Операции "Унарный минус" не существует. Для задания отрицательных констант пользуйтесь конструкцией 0-Значение:
    Result := 0-1;

2.5. Формальная грамматика
Goal: MethodBody | Expression;

MethodBody: [ConstantDeclaration] [VariableDeclaration] CompoundStatement ";";

ConstantDeclaration: "const" Ident ":" DomainSpecification ";"
  [{Ident ":" DomainSpecification ";"}];

VariableDeclaration: "var" DomainDefinition [{DomainDefinition}];

DomainDefinition: Ident ":" DomainSpecification ";";

DomainSpecification: IntegerDomainDefinition
  | StringDomainDefinition
  | FloatDomainDefinition
  | DateDomainDefinition
  | TimeDomainDefinition
  | DateTimeDomainDefinition
  | BooleanDomainDefinition
  | BlobDomainDefinition
  | EnumerationDomainDefinition
  | Ident;

IntegerDomainDefinition: "integer";
StringDomainDefinition: "string" "[" Number "]";
FloatDomainDefinition: "float" ["(" Number ["." Number] ")"];
DateDomainDefinition: "date";
TimeDomainDefinition: "time";
DateTimeDomainDefinition: "datetime";
BooleanDomainDefinition: "boolean";
BlobDomainDefinition: "blob" | "clob";
EnumerationDomainDefinition: "(" Ident {"," Ident} ")";

CompoundStatement: "begin" Statement [{";" Statement}] "end";

Statement:
  | CompoundStatement
  | AssignmentStatement
  | InheritedStatement
  | CallStatement
  | IfStatement
  | CaseStatement
  | ForStatement
  | WhileStatement
  | RepeatStatement
  | TryFinallyStatement
  | TryExceptStatement
  | RaiseStatement
  | ForEachStatement
  | ExitStatement;

AssignmentStatement:  Qualifier ":=" Expression;

CallStatement: Qualifier;

InheritedStatement: "inherited";

IfStatement: "if" Expression "then" Statement ["else" Statement];

CaseStatement: "case" Expression "of" {CaseBranch} ["else" Statement ";"] "end";

CaseBranch: CaseLabel [{',' CaseLabel}] ":" Statement ";";

CaseLabel: Number | Ident;

ForStatement: "for" Ident ":=" Expression ("to"|"downto")
  Expression "do" Statement;

WhileStatement: "while" Expression "do" Statement;

RepeatStatement: "repeat" Statement [{";" Statement}] "until" Expression;

TryFinallyStatement: "try" Statement [{";" Statement}] "finally"
  Statement [{";" Statement}] "end";

TryExceptStatement: "try" Statement [{";" Statement}] "except"
  Statement [{";" Statement}] "end";

RaiseStatement: "raise" [Expression];

ForEachStatement: "for" "each" Ident "of" Ident ["with" Expression]
  ["by" Expression] "do" Statement;

ExitStatement: "exit";

Expression: ComparedExpression [{RelationOperation Expression}];

ComparedExpression: Addon [{AdditionOperaton ComparedExpression}];

Addon: Factor [{MultiplicativeOperation Addon}];

Factor: "(" Expression ")"
  | "not" Expression
  | Number ["." Number]
  | StringConstant
  | Qualifier
  | "nil"
  | "True"
  | "False"
  | "(" Expression "is" Ident ")"
  | "any" Aggregate
  | "count" Aggregate
  | "sum" Aggregate
  | "max" Aggregate
  | "min" Aggregate;

Aggregate: "(" Ident ["." Ident] ["with" Expression] ")";

Qualifier: QualifierPart [{"." QualifierPart}];

QualifierPart: Ident ["(" Expression [{", " Expression}] ")"]
  | "self"
  | "(" Qualifier "as" Ident ")";

RelationOperation: "<"
  | ">"
  | "<="
  | ">="
  | "="
  | "<>";

AdditionOperaton: "+"
  | "-"
  | "or";

MultiplicativeOperation: "*"
  | "/"
  | "div"
  | "and";

2.6. Соглашения

2.6.1. Соглашения о наименованиях

В качестве вводимых (объявляемых) идентификаторов необходимо использовать так называемую нотацию InfixCaps. Если при создании имени используется несколько слов, то необходимо использовать заглавную букву для каждого слова в имени. Для разделения слов нельзя использовать символ подчеркивания. Все сущности именуются на английском языке, при этом использование сокращений является оправданным только в случае, если длина образуемого имени не согласуется с внешними по отношению к соображениям бизнес-логики ограничениям.

  • Имя класса должно начинаться с латинской буквы 'T'.
    Имя | Наименование
    TObjectList | Список объектов
    TLearnPlan | Учебный план
  • Имя поля должно начинаться с латинской буквы 'F'.
    Имя | Наименование
    FLearnPeriod | Период обучения
    FExamMark | Оценка за экзамен
  • Имя свойства не имеет префикса.
    Имя | Наименование
    ExamKind | Вид рубежного испытания
    ContactPhone | Контактный телефон
    Если членом класса для чтения свойства является поля, то имя свойства должно повторять имя поля без префикса 'F'. Если членом класса для чтения свойства является метод, то имя поля должно повторять имя метода без слова 'Get'.
  • Имя параметра не имеет префикса.
    Имя | Наименование
    OrderNumber | Номер приказа
    ExamDate | Дата проведения экзамена
    Параметры, используемые для инициализации значений полей, должны иметь имя, повторяющее имя поля без префикса 'F'. При компиляции тела метода, написанного на языке PascalScript имена параметров и имена свойств будут распознаваться в соответствии с порядком разбора идентификаторов, как это описано здесь и здесь.
  • Имена методов должны представлять собой императивный глагол на английском языке, выражающий смысл того, что метод делает. Имена методов не имеют префикса. Имена методов, используемых для получения значений свойств должны (как члены класса для чтения), должны начинаться со слова Get. Имена методов, используемых для установки значений свойств должны (как члены класса для записи), должны начинаться со слова Set.
    Имя | Наименование
    CountMarkSumm | Вычислить сумму баллов
    GetAge | Получить значение возраста
    SetMark | Установить значение оценки
  • Имена локальных переменных должны начинаться с латинской буквы 'L'.
    LMarkSumm (сумма баллов), LObjectCount (количество объектов).
  • Имена доменов должны начинаться с латинской буквы 'T'. В именах доменов допустимы пробелы. Рекомендуется к имени домена добавлять слово 'domain' (через пробел), а для обязательных доменов 'required domain' (через пробел) тогда, когда необходимо исключить возможность использования этих доменов в текстах на PascalScript. Первым словом в имени домена-ссылки должно быть имя класса домена. Исключением являются имена доменов, соответствующих простым типам данных без дополнительных ограничений. Имена таких доменов могут повторять имена типов языка PascalScript (Integer, Boolean, Float).
    Имя | Класс домена | Наименование
    TPrice domain | Вещественный | домен Цена
    TWeight required domain | Целочисленный | домен Вес (обязательный)
    Boolean | Логический | Логический
    TClassMember required domain | Ссылка | домен Член класса
  • Имена элементов перечислений должны иметь префикс из двух или трех символов, идентифицирующий соответствующий домен-перечисление. Префикс записывается строчными буквами. Например,
    Имя | Наименование
    для домена TExamKind (вид испытания)
    ekTest | зачет
    ekExam | экзамен
    ekDifTest | дифференцированный зачет
    для домена TAggregateKind (вид агрегата)
    agCount | количество
    agSumm | сумма
    agAverage | среднее значение
    Настоятельно рекомендуется давать уникальные имена элементов перечислений в пределах всей системы.

2.6.2. Cтилевое оформление исходного кода

Код на языке PascalScript, являющийся частью поставляемого решения, должен быть оформлен в соответствии с изложенными правилами.

2.6.2.1. Использование строк, пробелов и отступов

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

Пробелы, запрещенные к использованию:

  • До или после точки "."
  • Между именем вызываемого метода и открывающей скобкой "("
  • После открывающей скобки "(" или перед закрывающей ")"
  • Перед точкой с запятой ";"
  • Перед двоеточием ":"
  • Перед запятой ","

Двоеточие для всех объявлений переменных не должно содержать перед собой пробелов и иметь один пробел после перед именем типа.

Всегда необходимо использовать два пробела для всех уровней отступа. Другими словами, первый уровень отступает на два пробела, второй на четыре и так далее. Никогда не используйте символы табуляции.

Существует несколько исключений из этого правила. Зарезервированные слова var, begin и end, относящиеся к программному блоку вцелом, всегда должны примыкать к левой границе. Код внутри блока begin..end должен иметь отступ два символа.

Все строки должны быть ограничены 80 столбцами. Строки, длиннее чем 80 столбцов должны быть разделены и перенесены. Все перенесенные строки должны быть выровнены по первой строке и иметь отступ в два символа. Зарезервированное слово begin всегда должно находиться на своей отдельной строке.

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

2.6.2.2. Оформление объявлений и операторов

Все переменные с их типами должны быть объявлены на различных строках.

Простые операторы содержат одну точку с запятой. Если Вам необходимо разделить оператор, то перенесите продолжение оператора на следующую строку с отступом в два пробела.
  MyValue :=
    MyValue + (SomeVeryLongStatement / OtherLongStatement);

Составные операторы всегда заканчиваются точкой с запятой.
begin
  MyStatement;
  MyNext Statement;
  MyLastStatement;
end;

Каждое присвоение и каждое выражение должно располагаться на разных строках.

Оператор "if"

Оператор if всегда должен располагаться по крайней мере на двух строках
if A < B then DoSomething;
if A < B then
  DoSomething;
В случае составного оператора необходимо поместить каждый оператор на новую строку.
  if A < B then begin
    DoSomething;
    DoSomethingElse;
  end else begin
    DoThis;
    DoThat;
  end;

  if A < B then
  begin
    DoSomething;
    DoSomethingElse;
  end
  else
  begin
    DoThis;
    DoThat;
  end;
Все остальные варианты расположения операторов не рекомендуются и не одобряются, хотя и являются синтаксически правильными.

Оператор "for"

  for i := 0 to 10 do begin
    DoSomething;
    DoSomethingElse;
  end;

  for i := 0 to 10 do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  for I := 0 to 10 do
    DoSomething;

Оператор "while"

  while x < j  do begin
    DoSomething;
    DoSomethingElse;
  end;
  while x < j do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  while x < j do
    Something;

Оператор "repeat..until"

  repeat
    x := j;
    j := UpdateValue;
  until j > 25;

Оператор "case"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
  case LCode of
    1, 3:
      begin
        Incr := FIncrement + 1;
        FinalIncr := FIncrement div FLineDiv;
        Count := FLineDiv;
      end;
    2, 4:
      begin
        Incr := FPageIncrement;
        FinalIncr := Incr + 1;
        Incr := Incr div FPageDiv;
        Count := FPageDiv;
      end;
  else
    begin
      Count := 0;
      Incr := 0;
      FinalIncr := 0;
    end;
  end;

Оператор "try"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
try
  try
    EnumItems(CurrentThreadID, LDisable, 0);
    Result := TaskList;
  except
    EnableItems(TaskList);
    raise;
  end;
finally
  TaskList := SaveList;
  TaskActive := SaveActive;
end;

3. Интерфейсы взаимодействия с внешними подсистемами

Системный слой платформы "Мельница данных" предоставляет сторонним системам ряд интерфейсов, дающих возможность обращаться к объектам базы данных и их свойствам, вызывать методы классов и объектов, осуществлять запросы к базе данных, управлять поведением элементов управления и проч.

3.1. Интерфейс IContext
  IContext = interface(IDispatch)
    ['{79847D79-A3BE-408F-B59F-662B91BC6350}']
    function Handle: Integer;
    function getName(ID: OleVariant): WideString;
    function getDescription(ID: OleVariant): WideString;
    function createDataSet(const TargetClassName: WideString):
      IContextDataSet;
    function executeMethod(const ClassName: WideString;
      const MethodName: WideString;
      Params: OleVariant): OleVariant;
    function executeReport(const ClassName: WideString;
      const TemplateName: WideString;
      Params: OleVariant): IDispatch;
    function getPropValue(const ClassName: WideString;
      const PropName: WideString;
      const ID: OleVariant): OleVariant;
    procedure setPropValue(const ClassName: WideString;
      const PropName: WideString;
      const ID: OleVariant; Value: OleVariant);
    function select(const ClassName: WideString;
      QueryItems: OleVariant): IDispatch;
    function enumerationItem(ItemIdentifier: OleVariant): WideString;
    function getClass(const ClassName: WideString): WideString;
    function createGUID: WideString;
    procedure processStart(const Description: WideString;
      ItemCount: Integer);
    procedure processStep;
    procedure processStop;
    function PlaceDataSet(const Range: IDispatch;
      const DataSet: IContextDataSet;
      ShiftRows: WordBool; ShiftColumns: WordBool): Integer;
    procedure DebugString(const Message: WideString);
    procedure ExportObject(var Document: OleVariant; const ID: WideString;
      const ClassID: WideString);
    function callRoutine(const ClassName, RoutineName: WideString;
      var RetValue: OleVariant; const ScriptPart: OleVariant): WordBool;
    function getOleObject(const ClassID, AccessibleFileName: WideString): IDispatch;
    function getResource(const Name: WideString): WideString;
    function getTempFileName(const Extension: WideString): WideString;
    function selectVaue(const ClassDomain: WideString;
      const ExpressionContext: IContextExpressionInfo;
      var Value: OleVariant): WordBool;
    procedure raiseManagedException(const ExceptionMessage: WideString);
    function getCRC(Data: OleVariant): WideString;
    function downloadData(const Host: WideString; const Url: WideString;
      const UserName: WideString; const Password: WideString;
      NegotiateAuth: WordBool; PostData: OleVariant;
      const PostContentType: WideString; PostDataIsBinary: WordBool;
      CanCache: WordBool; NewSession: WordBool; TimeOut: Integer): OleVariant;
    function createBinaryData: IDispatch;
    function BinaryToBitmap(const Data: IDispatch): IDispatch; safecall;
    function editValues(const ValuesList: WideString; const Title: WideString;
      UseTabs: WordBool; HideOKButton: WordBool;
      const ScriptPart: OleVariant): WordBool;
    function MsgBox(const Prompt: WideString; Buttons: LongWord;
      const Title: WideString;
      const HelpFile: WideString; Context: LongWord): Integer;
    function ShowMsgBox(const Prompt: WideString; Buttons: LongWord;
      const Title: WideString;
      const HelpFile: WideString; Context: LongWord): Integer;
    function buildNamedFile(const Data: IDispatch; const StoredFileName: WideString;
                            Propmpt: WordBool; Compress: WordBool): IDispatch;
    procedure parseNamedFile(const NamedFile: IDispatch; out FileName: OleVariant;
                             out Data: OleVariant);
    procedure showView(const ViewName: WideString; Key: OleVariant;
                       const DetailPropertyName: WideString);
    procedure showDataSet(const DataSet: ContextDataSet; const Caption: WideString;
                          ColumnCaptions: OleVariant; ColumnOnChangeHandlers: OleVariant;
                          TakeActionsFromView: OleVariant);
    function executeConsoleProcess(const CommandLine: WideString; MaxDuration: Integer;
                                   const OutputData: OleVariant): Integer;
    function createRaster: IDispatch;
    function createZIPArchive: IDispatch;
    function ConvertExcel(Source: OleVariant; const Format: WideString): IDispatch;
    property ContextObject: IDispatch;
    property Language: WideString;
    property UserName: WideString;
    property NegotiateAuth: WordBool;
    property Variable[const Name: WideString; Persistent: WordBool]: OleVariant;
  end;

Члены интерфейса доступны для использования в скриптах форм задания параметров, а также в отчетах как члены класса передаваемого контекстного объекта.

  • Функция Handle возвращает дескриптор главного окна приложения.
  • Функция getName возвращает имя объекта по его идентификатору.
  • Функция getDescription возвращает наименование объекта по его идентификатору.
  • Функция createDataSet создает набор данных, основанный на экземплярах класса, имя которого передано как параметр. Возвращаемый объект реализует интерфейс IContextDataSet.
  • Функция executeMethod осуществляет вызов метода с параметрами. Имя класса передается в параметре ClassName, имя вызываемого метода - в параметре MethodName. Если вызываемый метод явяется функцией, то результат ее выполнения возвращается как результат вызова executeMethod. Параметры вызова метода передаются через параметр Params следующим образом:
    • Для методов класса без параметров можно передавать любое значение, например, Null.
    • Для методов класса, имеющих один параметр, значение Params есть значение этого единственного параметра.
    • Для методов класса, имеющих более одного параметра, значение Params есть массив значений параметров.
      VBScript, VBA | LValue = executeMethod("TObject", "Round", Array(10.24, 1))
      JScript | LValue = executeMethod("TObject", "Round", new Array(10.24, 1));
      Object Pascal | LValue := executeMethod('TObject', 'Round', VarArrayOf([10.24, 1]));
    • Для методов экземпляра без параметров значение Params есть идентификатор объекта, для которого вызывается метод.
    • Для методов экземпляра, имеющих параметры, значение Params есть массив значений параметров. При этом первым элементом массива является идентификатор объекта, для которого вызывается метод.
      VBScript, VBA | executeMethod "TObject", "MergeTo", Array(LOldObject, LNewObject)
      JScript | executeMethod("TObject", "MergeTo", new Array(LOldObject, LNewObject));
      Object Pascal | executeMethod('TObject', 'MergeTo', VarArrayOf([LOldObject, LNewObject]));
  • Функция executeReport осуществляет вызов отчета с параметрами. Имя класса передается в параметре ClassName, имя вызываемого метода - в параметре TemplateName. Параметры вызова передаются в параметре Params аналогично вызову executeMethod. В результате вызова функции возвращается ссылка на рабочую книгу Microsoft Excel, документ Microsoft Word и так далее. Судьба приложения, в рамках которого создан возвращенный объект, остается на усмотрение вызывающей стороны. Если вызывающая сторона предполагает взаимодействие объекта с пользователем, то необходимо обеспечить видимость объекта-приложения (Application.Visible := True;). В противном случае необходимо закрыть приложение после освобождения объекта документа (Application.Quit).
  • Функция getPropValue возвращает значение свойства объекта. Имя класса, имя свойства и идентификатор объекта задаются в параметрах.
  • Процедура setPropValue устанавливает значение свойства объекта в значение, заданное параметром Value. Для очистки значения можно использовать пустую строку или значение Null. Имя класса, имя свойства и идентификатор объекта задаются в параметрах.
  • Функция select возвращает ссылку на XML-документ, содержащий в корневом элементе элементы, представляющие собой записи набора данных на основе класса ClassName (с полями, разнесенными по элементам), определяемого структурой параметра QueryItems.
  • Функция enumerationItem возвращает идентификатор элемента перечисления по имени.
    VBScript, VBA | LItemID = enumerationItem("rsReplicatableMetadata")
    JScript | LItemID = enumerationItem("rsReplicatableMetadata");
    Object Pascal | LItemID := enumerationItem('rsReplicatableMetadata');
  • Функция getClass возвращает идентификатор объекта типа Класс TClass (Классы) по имени.
    VBScript, VBA | LClassID = getClass("TDocumentType")
    JScript | LClassID = getClass("TDocumentType");
    Object Pascal | LClassID := getClass('TDocumentType');
  • функция createGUID является оберткой над функцией Windows API CoCreateGuid. Возвращает сгенерированный глобально-уникальный идентификатор, преобразованный в строку.
  • процедура processStart информирует систему о необходимости показать окно выполнения длительного процесса. Текст, описывающий процесс (он появляется в показываемом окне) задается параметром Description. В случае, если есть возможность определить количество "шагов" процесса, то это количество необходимо передать в параметре ItemCount. В случае, если параметр ItemCount больше нуля, окно выполнения будет снабжено индикатором прогресса. Если значение ItemCount равно нулю, то окно появится без индикатора прогресса. Если значение ItemCount меньше нуля, то решение о появлении окна будет принято системой самостоятельно на основании загрузки процессора и окно процесса не появится, если процесс завершится достаточно быстро.
  • процедура processStep информирует систему о завершении очередного "шага" процесса, что найдет отражение в индикаторе прогресса окна выполнения длительного процесса, если таковые случатся.
  • процедура processStop информирует систему о завершении длительного процесса, что приведет к закрытию окна выполнения длительного процесса, если таковое случится.
  • функция PlaceDataSet осуществляет перенос данных из набора, задаваемого параметром DataSet в некоторое место документа Microsoft Office. Место назначения определяется параметром Range следующим образом:
    Microsoft Word
    • Объект Range. По месту расположения этого объекта будет создана таблица (Table), в которой будут размещены данные из набора.
      PlaceDataSet ThisDocument.Bookmarks("BookMarkName").Range, LDataSet
      PlaceDataSet Selection.Range, LDataSet
    • Объект Document. В самом начале переданного документа будет создана таблица (Table), в которой будут размещены данные из набора.
      PlaceDataSet ThisDocument, LDataSet
    Microsoft Excel
    • Объект Range. По месту расположения этого объекта (диапазона) будут размещены данные из набора. Если параметр ShiftRows задан и равен True, то заданный диапазон будет расширен вниз на необходимое количество строк, и информация, лежащая ниже переданного диапазона, будет по-прежнему лежать ниже. Если нет, то она (скорее всего) будет затёрта данными набора. Если параметр ShiftColumns задан и равен True, то этот диапазон будет расширен вправо на необходимое количество столбцов, и информация, лежащая правее переданного диапазона, будет по-прежнему лежать правее. Если нет, то она (скорее всего) будет затёрта данными набора.
      PlaceDataSet Range("C4"), LDataSet
    • Объект WorkSheet. На переданном листе будут размещены данные из набора.
      PlaceDataSet WorkSheets("HiddenSheet"), LDataSet
    Функция возвращает количество размещенных записей.
  • процедура DebugString выводит переданную в качестве аргумента строку в отладочный монитор.
  • процедура ExportObject осуществляет экспорт информации об объекте, задаваемом параметром ID в XML-документ, передаваемый в параметре Document. Если объект документа не был создан, то он создается автоматически. Если документ не имеет корневого узла, он будет создан автоматически.
    set LDataSet = CreateDataSet("TSecurityAccount")

LDataSet.AddQueryItem qpWhat, "ID"

set LDocument = CreateObject("Msxml2.DOMDocument.4.0") 'Не обязательно.

while not LDataSet.Eof
  ExportObject LDocument, LDataSet.Field("ID")
  LDataSet.Next
wend

LDocument.save "c:\RolesAndUsers.xml"
  • Функция callRoutine осуществляет вызов подпрограммы. Параметры будут запрошены у пользователя обычным порядком (с показом формы задания параметров, отработки ее скрипта и т. д.). Имя класса передается в параметре ClassName, имя вызываемой подпрограммы - в параметре RoutineName. Если пользователь разрешил выполнение подпрограммы (либо для выполнения не требовалось разрешения пользователя), функция вернет True, иначе False. Значение, возвращаемое подпрограммой, может быть возвращено через необязательный параметр RetValue. Через значение необязательного параметра ScriptPart можно передать скрипт на языке VBScript, который будет "приклеен" сверху к скрипту формы параметров вызываемой подпрограммы.
  • Функция getOleObject возвращает ссылку на Ole-объект с идентификатором класса, переданном в параметре ClassID. Объект создается на основе библиотеки кода, сохраненной в доступном файле с именем, заданным параметром AccessibleFileName. Регистр символов имени доступного файла важен.
  • Функция getResource возвращает значение ресурсной строки по имени ресурса (элемента перечислимого домена Resource strings или перевода (объекта класса TLanguageTranslation).
    MsgBox getResource("rssMyErrorMessage")
  • Функция getTempFileName возвращает сгенерированное системой имя временного файла с расширением, переданным в параметре Extension.
  • Функция selectVaue позволяет пользователю выбрать значение на основе ссылочного домена, имя которого передается в параметре ClassDomain. Вызывающая сторона может реализовать интерфейс IContextExpressionInfo, через который передается информация о контексте вызова для интерпретации выражений условий отбора, и передать ссылку на него через параметр ExpressionContext. Выбранное значение передается в обе стороны через параметр Value. Если пользователь подтвердил выбор значения, функция возвращает значение True, и устанавливает значение параметра Value, равное идентификатору выбранного пользователем объекта. Если пользователь отказался от выбора, функция возвращает значение False.
  • Процедура raiseManagedException возбуждает управляемую исключительную ситуацию с сообщением для пользователя, заданным параметром ExceptionMessage.
  • Функция getCRC возвращает шестнадцатиричное представление контрольной суммы переданных в параметре Data данных. Параметр может быть
    • Объектом, реализующим интерфейс IBinaryData
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Объектом, реализующим интерфейс IFile объектной модели FileSystemObject
    • Строкой данных. Строка будет преобразована в байты в соответствии с кодировкой UTF-8.
  • Функция downloadData осуществляет обращение к указанному ресурсу по протоколу http (https), и возвращает ответ сервера в виде объекта, реализующего интерфейс IBinaryData. Параметр Host определяет http-сервер, параметр Url - Url, к которому будет происходить обращение. Параметры UserName и Password определяют имя пользователя и пароль, если http-сервер требует авторизовать пользователя. Параметр NegotiateAuth устанавливает режим аутентификации. (Basic или Negotiate). Параметры PostData, PostContentType и PostDataIsBinary определяют содержимое тела POST-запроса (если не определено, функция отправит GET-запрос). Параметр CanCache позволяет использовать локальный кеш http-ответов. Параметр NewSession требует принудительного создания новой сессии при вызове функции. Параметр TimeOut определяет максимальное время ожидания ответа в секундах.
  • Функция createBinaryData создает пустой объект, реализующий интерфейс IBinaryData.
  • Функция BinaryToBitmap конвертирует переданный графический файл в формат BMP. Объекты во входном и выходном параметрах должны реализовывать интерфейс IBinaryData.
  • Функция editValues создает и показывает форму редактирования группы значений. Параметр ValuesList содержит идентификатор объекта класса TObjectList. Этот список содержит ссылки на редактируемые значения (объекты класса TTypedValue), и командные кнопки формы (объекты класса TTypedValueButton). Параметр Title определяет заголовок формы, параметр UseTabs определяет, будут ли показаны закладки на форме редактирования. Параметр HideOKButton позволяет скрыть кнопку "OK" на показываемой форме. Параметр ScriptPart определяет скрипт показываемой формы.

      LValue1 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value1", "Первый параметр", Null, Null, _
    "TLongString", Null, Null, Null, Null, Null, "Значение по  умолчанию первого параметра"))
  LValue2 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value2", "Второй параметр", Null, Null, _
    "TLongString", Null, Null, Null, Null, Null, "Значение по  умолчанию второго параметра"))

  LValues = executeMethod("TObjectList", "CreateFromString", _
    LValue1 & ";" & LValue2)

  if editValues(LValues, "Введите два строковых значения, друзья", True, False, "") then
    MsgBox getPropValue("TTypedValue", "StrValue", LValue1) & _
      " " & _
      getPropValue("TTypedValue", "StrValue", LValue2)
  end if

  executeMethod "TObject", "Destroy", LValues
  executeMethod "TObject", "Destroy", LValue1
  executeMethod "TObject", "Destroy", LValue2

      LScriptPart =  "Buttons(""NextButton"").Enabled = ParentForm.NavigatorCanNext" & Chr(10) & _
    "Buttons(""PrevButton"").Enabled = ParentForm.NavigatorCanPrevious"

  LValue1 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value1", "Первый параметр", Null, Null, "TLongString", Null, Null, Null, Null, Null, _
    "Значение по  умолчанию первого параметра"))
  LValue2 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value2", "Второй параметр", Null, Null, "TLongString", Null, Null, Null, Null, Null, _
    "Значение по  умолчанию второго параметра"))

  LNextButton = executeMethod ("TTypedValueButton", "Create", Array("NextButton", "Вперед!", _
    Null, Null, Null, Null, 0, Null, Null, _
    "ParentForm.NavigatorNext"  & Chr(10) & LScriptPart, enumerationItem("scPublic"), 1, Null))

  LPrevButton = executeMethod ("TTypedValueButton", "Create", Array("PrevButton", "Назад!", _
    Null, Null, Null, Null, 1, Null, Null, _
    "ParentForm.NavigatorPrevious" & Chr(10) & LScriptPart, enumerationItem("scPublic"), 1, Null))

  LValues = executeMethod("TObjectList", "CreateFromString", _
    LValue1 & ";" & LValue2 & ";" & LNextButton & ";" & LPrevButton)

  if editValues(LValues, "Введите два строковых значения, друзья", True, True, LScriptPart) then
    MsgBox getPropValue("TTypedValue", "StrValue", LValue1) & _
      " " & _
      getPropValue("TTypedValue", "StrValue", LValue2)
  end if

  executeMethod "TObject", "Destroy", LValues
  executeMethod "TObject", "Destroy", LValue1
  executeMethod "TObject", "Destroy", LValue2
  executeMethod "TObject", "Destroy", LNextButton
  executeMethod "TObject", "Destroy", LPrevButton

  • Функции MsgBox и ShowMsgBox (это синонимы одной точки входа) полностью аналогичны функции Basic MsgBox по поведению и набору параметров.
  • Функция buildNamedFile формирует значение типа "Именованный файл" на основе объекта, реализующего интерфейс IBinaryData (параметр Data) и информации об имени и параметрах именованного файла.
  • Процедура parseNamedFile разбирает значение типа "Именованный файл". Выходной параметр FileName будет содержать сохраненное имя файла, выходной параметр Data - объект, реализующего интерфейс IBinaryData и содержащий данные именованного файла.
  • Свойство ContextObject позволяет получить ссылку на этот же самый контекстный объект.
  • Свойство UserName позволяет получить логин текущего пользователя.
  • Свойство NegotiateAuth позволяет получить признак доменной аутентификации пользователя.
  • Свойство Language позволяет получать и устанавливать текущий языковой контекст, в котором будут выполняться обращения к БД. Значение свойства либо пустая строка (используется язык БД по умолчанию), либо имя объекта класса TLanguage
  • Свойство Variable позволяет сохранять и получать произвольные значения, которые могут хранится постоянно (в реестре) или только в текущем сеансе, в зависимости от параметра Persistent.
    'сохранить на время текущего сеанса значение в переменную с именем SameVariableName
Variable("SameVariableName", False) = "Value"

'получить значение переменной с именем SameVariableName хранимой в текущем сеансе
LValue = Variable("SameVariableName", False)
  • Процедура showView осуществляет показ в модальном окне представления с именем ViewName. С помощью параметров DetailPropertyName и Key можно наложить на представление дополнительное условие отбора.

3.2. Интерфейс IContextDataSet
  IContextDataSet = interface(IDispatch)
    ['{466F3AF7-F899-4BC1-869D-1B17DCB86159}']
    procedure AddQueryItem(Part: TQueryPart; const Name: WideString;
      Value: OleVariant; Special: TQuerySpecial; Context: OleVariant);
    function Eof: WordBool;
    function Field(const Name: WideString): OleVariant;
    function FieldCount: Integer;
    function FieldName(Index: Integer): WideString;
    procedure Next;
  end;

Интерфейс предоставляет возможности формирования и выполнения запросов к базе данных с целью получения свойств объектов определенного класса, предоставляет доступ к объекту набора данных. Работа с объектом, реализующим интерфейс IContextDataSet заключается в формировании структуры набора данных и последующих обращениях к ним.

  • Процедура AddQueryItem добавляет элемент набора данных. Элементы могут добавляться в любом порядке до первого обращения к данным набора. Символические имена всех предопределенных для параметров этого метода констант являются членами интерфейса IConstants.
    • часть запроса определяется параметром Part, который может принимать одно из следующих предопределенных значений:
      Символическое имя | Числовое значение | Описание
      qpWhat | 0 | Добавляет поле (столбец), определяемое параметром Name, к результирующему набору данных. Параметр Value игнорируется.
      qpWhere | 1 | Определяет условие, налагаемое на свойства объектов класса, передаваемое остальными параметрами.
      qpOrder | 2 | Определяет порядок сортировки записей результирующего набора данных. Параметр Value игнорируется.
      qpGroup | 3 | Определяет, что записи результирующего набора данных будут сгруппированы по столбцу, переданному в параметре Name. Параметры Value и Special игнорируются.
    • параметр Name должен быть именем свойства класса, на котором основан набор данных, либо зарезервированным словом "ID" (без кавычек).
    • параметр Value (необязательный) определяет условия отбора, накладываемые на свойство, заданное параметром Name. Имеет смысл только если значение параметра Part равно qpWhere. Условие задается посредством строки, интерпретируемой следующим образом:
      • строка разделяется на части посредством системного разделителя
      • каждая часть интерпретируется самостоятельно, и эти части объединяются логическим "ИЛИ"
      • при интерпретации каждой части проверяются следующие условия:
        * проверка значения на непустоту (IS NOT NULL)
        !* проверка значения на пустоту (IS NULL)
        начинается с символов
        '<=', '<', '>=', '>'         		проверка соответствующего отношения между значением свойства, переданного параметром Name и оставшейся частью строки
        включает в себя символы '*' и/или '?' | проверка соответствия значения шаблону, в котором знак '?' соответствует одному любому символу, а знак '*' - любому количеству любых символов
        начинается с символа '!' | символ '!' означает отрицание условия, переданного оставшейся частью строки
        представляет собой строку в апострофах (одиночных кавычках) | содержание строки не анализируется по приведенным выше условиям
        любая другая строка | проверка равенства значения свойства, переданного параметром Name значению, переданному строкой
    • параметр Special (необязательный) обеспечивает дополнительное поведение набора данных (если параметр Special используется, необходимо использовать и параметр Value, можно передавать пустую строку):
      Символическое имя | Числовое значение | Описание
      qsNone | 0 | Параметр не используется. Значение по умолчанию.
      qsDescending | 7 | Используется при значении qpOrder параметра Part. В этом случае производится сортировка по убыванию.
      qsCount | 8 | Используется при значении qpWhat параметра Part. Определяют тип агрегации по свойству, заданному параметром Name.
      qsSum | 9
      qsMin | 10
      qsMax | 11
      qsAverage | 12
      qsFunction | 22 | Используется для включения в запрос вызова функции. Используется при значении qpWhat параметра Part.
    • параметр Context (необязательный) определяет дополнительные параметры элемента запроса.
    'включить в набор данных свойство Name
LDataSet.AddQueryItem 0, "Name"
'включить в набор данных среднее значение цены
LDataSet.AddQueryItem 0, "Price", "", 12
'включить в набор данных идентификатор объекта
LDataSet.AddQueryItem 0, "ID"
'включить в набор данных вызов функции. В поле IsCompany будет значение True, если объект является организацией
LDataSet.AddQueryItem 0, "IsCompany", "TObject.IsInstanceOf", 22, Array(getClass("TCompany"))
'наложить на набор данных условие
LDataSet.AddQueryItem 1, "Organization", "фирма Елочка"

    LDataSet.AddQueryItem 0, "Organization"              '(1)
LDataSet.AddQueryItem 0, "SalesCount", "", "9"       '(2)
LDataSet.AddQueryItem 1, "SaleDate", ">10.09.2005"   '(3)
LDataSet.AddQueryItem 2, "Organization"              '(4)
LDataSet.AddQueryItem 3, "Organization"              '(5)
    Производится отбор из класса, описывающего число продаж некоего продукта различными организациями. При этом в набор данных включаются колонки "Organization" (строка 1) и "SalesCount" (строка 2). При этом будет произведена группировка по свойству "Organization" (строка 5) (что гарантирует вхождение каждой организации в результирующий набор данных не более одного раза). Набор данных будет отсортирован по организации (строка 4). При этом в колонке "SalesCount" будет сумма (строка 2) всех продаж, осуществленных каждой организацией после 10.09.2005 (строка 3).
  • Функция FieldCount возвращает количество полей (столбцов) набора данных.
  • Функция FieldName возвращает имя поля (столбца) с номером, переданным в параметре Index.
  • Функция Field возвращает значение, содержащееся в поле с именем или индексом, заданным параметром Name (строкового типа) текущей записи набора данных. При первом обращении к набору данных текущей является первая запись. Если параметр определяет номер, то поиск поля производится по номеру. Если имя, то по имени.
  • Процедура Next осуществляет переход к следующей записи набора данных.
  • Функция Eof возвращает False, если текущая запись набора данных существует; в случаях, если набор данных пустой, или при помощи метода Next достигнут конец набора данных, возвращает True.
    If LDataSet.Eof then
  'набор данных пуст. Ничего не отобрано.
Else
  While Not LDataSet.Eof
    'работа с очередной отобранной записью
    Cells(LRow, 1).Value = LDataSet.Field("Name")
    Cells(LRow, 2).Value = LDataSet.Field("Description")
    Cells(LRow, 2).Value = LDataSet.Field("Count")
    'переход к следующей записи
    LDataSet.Next
    LRow = LRow + 1
  Wend
End If

3.3. Интерфейс IConstants
  IConstants = interface(IDispatch)
    ['{7E7B2D66-5E7C-496A-AE06-EFC485007500}']
    property qpWhat: Integer;
    property qpWhere: Integer;
    property qpOrder: Integer;
    property qpGroup: Integer;
    property qpHaving: Integer;
    property qsNone: Integer;
    property qsObjectID: Integer;
    property qsParentID: Integer;
    property qsHasChildren: Integer;
    property qsFilterCondition: Integer;
    property qsUplink: Integer;
    property qsRootOnly: Integer;
    property qsDescending: Integer;
    property qsCount: Integer;
    property qsSum: Integer;
    property qsMin: Integer;
    property qsMax: Integer;
    property qsAverage: Integer;
    property qsMasterLink: Integer;
    property qsSelectedOnly: Integer;
  end;

Интерфейс предоставляет символические имена констант, необходимых для работы с объектом, реализующим интерфейс IContextDataSet.

Свойство | Значение
qpWhat | 0
qpWhere | 1
qpOrder | 2
qpGroup | 3
qpHaving | 4
qsNone | 0
qsObjectID | 1
qsParentID | 2
qsHasChildren | 3
qsFilterCondition | 4
qsUplink | 5
qsRootOnly | 6
qsDescending | 7
qsCount | 8
qsSum | 9
qsMin | 10
qsMax | 11
qsAverage | 12
qsMasterLink | 13
qsSelectedOnly | 14

3.4. Интерфейс IFormContext
  IFormContext = interface(IDispatch)
    ['{1944F1C8-CAEA-4CF9-9A4D-CE3423508FF7}']
    function ChangedControl: OleVariant;
    function ControlCount: Integer;
    function ButtonCount: Integer;
    function ID: WideString;
    procedure Cancel;
    function ControlExists(const Name: WideString): WordBool;
    function ChangedControlName: WideString;
    function ParentForm: OleVariant;
    function RoutineID: WideString;
    procedure PreInitControl(const Name: WideString; Value: OleVariant);
    procedure NavigatorNext;
    procedure NavigatorPrevious;
    function NavigatorCanNext: WordBool;
    function NavigatorCanPrevious: WordBool;
    procedure RefreshView(RefreshAll: WordBool);
    function ExpressionContextValue(const Name: WideString): OleVariant; safecall;
    property Controls[Name: OleVariant]: IControl;
    property Buttons[Name: OleVariant]: IButton;
    property Enabled: WordBool;
  end;

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

  • Функция ChangedControl возвращает объект, реализующий интерфейс IControl, соответствующий элементу управления, изменение которого вызвало исполнение скрипта формы параметров. Если выполнение скрипта вызвано инициализацией формы задания параметров, то значение функции - Empty. Пустоту значения можно проверить с помощью функции VBScript IsEmpty.
  • Функция ControlCount возвращает число элементов управления на форме параметров, как видимых так и невидимых.
  • Функция ButtonCount возвращает число командных кнопок на форме параметров, как видимых так и невидимых.
  • Функция ID возвращает значение идентификатора объекта, для которого вызван метод. Для методов класса возвращает пустое значение.
  • Функция ControlExists возвращает True, если элемент управления с именем Name существует на форме, и, соответственно, существует соответствующий параметр.
  • Функция ChangedControlName возвращает имя элемента управления, изменение которого вызвало исполнение скрипта формы параметров. Если выполнение скрипта вызвано инициализацией формы задания параметров, то значение функции - пустая строка.
  • Процедура Cancel прекращет работу формы задания параметров. Форма закрывается, выполнение действия блокируется.
  • Функция ParentForm возвращает ссылку на контекст родительской формы в цепочке вызовов. В контексте первой формы (вызванной с грида немодальной формы) возвращает пустое значение (Empty). Пустоту значения можно проверить с помощью функции VBScript IsEmpty.
  • Функция RoutineID возвращает идентификатор подпрограммы, для которой вызвана форма.
  • Процедура PreInitControl имитирует предварительную инициализацию элемента управления с именем Name значением, переданным в параметре Value. Сам элемент управления при этом будет скрыт, и не будет показан вплоть до следующего вызова формы пользователем.
  • Процедура NavigatorNext выполняет переход к следующему объекту набора данных, для которого показывается форма параметров.
  • Процедура NavigatorPrevious выполняет переход к предыдущему объекту набора данных, для которого показывается форма параметров.
  • Функция NavigatorCanNext возвращает True, если возможен переход к следующему объекту набора данных, для которого показывается форма параметров.
  • Функция NavigatorCanPrevious возвращает True, если возможен переход к предыдущему объекту набора данных, для которого показывается форма параметров.
  • Процедура RefreshView обновляет набор данных, для которого показывается форма параметров. Если значение параметра RefreshAll равно True, то будет обновлен весь набор, если False, то только выделенные записи.
  • Свойство Controls позволяет обращаться к элементам управления на форме задания параметров, их свойствам и методам. Каждый элемент управления реализует интерфейс IControl. В параметре Name (строкового типа)может быть передано как имя элемента управления, так и его индекс (в этом случае индекс должен быть передан как строка). Имена элементов управления на форме параметров соответствуют именам параметров подпрограммы (метода, отчета, etc).
  • Свойство Buttons позволяет обращаться к командным кнопкам на форме задания параметров, их свойствам и методам. Каждая командная кнопка реализует интерфейс IButton. В параметре Name (строкового типа)может быть передано как имя командной кнопки, так и ее индекс (в этом случае индекс должен быть передан как строка).
  • Свойство Enabled позволяет получать и устанавливать доступность кнопки OK на форме задания параметров. Если на форме есть невалидные (имеющие недопустимые значения) элементы управления, значение свойства всегда равно False и устанавливать его в явном виде в True не рекомендуется. Для учета дополнительного условия рекомендуется использовать следующую конструкцию: Enabled = Enabled and (Controls("SalesCount").Value > 10)
  • Функция ExpressionContextValue возвращает значение переменной контекста с именем Name, которая используется для интeрпретации выражений условий отбора на форме.

3.5. Интерфейс IControl
  IControl = interface(IDispatch)
    ['{0662001F-D3D5-4F28-98AC-9B499F70E856}']
    function Name: WideString;
    procedure SetHint(const Value: WideString);
    procedure RefreshLinkedView;
    property Value: OleVariant;
    property ReadOnly: WordBool;
    property IsValid: WordBool;
    property IsEmpty: WordBool;
  end;

Моделирует элемент управления на форме задания параметров. Позволяет управлять поведением элементов управления на форме.

  • Функция Name возвращает имя элемента управления; имена элементов управления всегда совпадают с именамим соответствующих параметров подпрограммы.
  • Процедура SetHint устанавливает текст всплывающей подсказки элемента управления. Всплывыющая подсказка показывается только если значение элемента управления недопустимо (свойство IsValid равно False).
  • Процедура RefreshLinkedView обновит связанное с элементом управления представление.
  • Свойство Value позволяет получать и устанавливать значение, введенное в элемент управления.
  • Свойство ReadOnly позволяет получать и устанавливать доступность элемента управления для записи; при значении True элемент управления не доступен для записи и отображается неактивным.
  • Свойство IsValid позволяет получать и устанавливать "валидность" элемента управления; по умолчанию валидным элемент управления является в том случае, если введенное в него значение соответствует домену соответствующего параметра подпрограммы с учетом наложенного на него условия отбора.
  • Свойство IsEmpty имеет значение True в случае, если в элемент управления не введено никакого значения (элемент управления пустой), в противном случае имеет значение False.

3.6. Интерфейс IButton
  IButton = interface(IDispatch)
    ['{1618406F-B9F1-4C5F-BC35-C2A154837CA9}']
    function Name: WideString; safecall;
    procedure Click; safecall;
    property Enabled: WordBool;
  end;

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

  • Функция Name возвращает имя кнопки.
  • Процедура Click эмулирует нажатие на кнопку.
  • Свойство Enabled позволяет получать и устанавливать доступность кнопки.

3.7. Интерфейс IBinaryData
  IBinaryData = interface(IDispatch)
    ['{8A9F7CB3-230A-4048-B938-852CBF6ADB2D}']
    procedure Load(const Src: OleVariant);
    procedure Append(const Src: OleVariant);
    procedure Save(const Dst: OleVariant);
    function Size: Cardinal;
    function ToString(Encoding: WideString): WideString;
    procedure FromString(Data: OleVariant);
    procedure AppendString(Data: OleVariant);
    function ToBase64: WideString;
    procedure FromBase64(Data: OleVariant);

Представляет набор двоичных данных.

  • Процедура Load загружает двоичные данные из переданного источника. Источник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Процедура Append добавляет двоичные данные из переданного источника. Источник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Процедура Save сохраняет двоичные данные в переданный приемник. Приемник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Функция ToString переводит данные в строку. Байты, содержашиеся в объекте, будут рассматриваться как содержащие строку в кодировке, заданной параметром Encoding. По умолчанию используется кодировка UTF-8
  • Процедура FromString загружает данные из строки, переданной в параметре Data, перекодировав ее в кодировку UTF-8
  • Процедура AppendString добавляет данные из строки, переданной в параметре Data, перекодировав ее в кодировку UTF-8
  • Функция ToBase64 возвращает строку, полученную путем кодирования в формат Base64, данных содержащихся в объекте
  • Процедура FromBase64 загружает данные из строки, переданной в параметре Data, раскодировав ее из формата Base64

3.8. Интерфейс IContextExpressionInfo
  IContextExpressionInfo = interface(IUnknown)
    ['{C7518427-B515-4EB4-B698-88656E6CBF7C}']
    function Count: Integer;
    function ItemName(Index: Integer): WideString;
    function ItemValue(Index: Integer): OleVariant;
    function ItemDomain(Index: Integer): OleVariant;
  end;

Через реализацию этого интерфейса передаются значения контекстных переменных при обращении к функции selectValue интерфейса IContext.

  • Функция Count возвращает количество используемых контекстных переменных. Нумерация контекстных переменных начинается с нуля.
  • Функция ItemName возвращает имя контекстной переменной c номером, переданным в параметре Index.
  • Функция ItemValue возвращает значение контекстной переменной c номером, переданным в параметре Index.
  • Функция ItemDomain возвращает имя домена контекстной переменной c номером, переданным в параметре Index.

3.9. Интерфейс IExceptionHandler
  IExceptionHandler = interface(IDispatch)
    ['{3C3C7202-5ED5-4EB4-9CDD-A929C18CA8BD}']
    procedure HandleException(ContextObject: OleVariant;
      const Message: WideString;
      const ExtentedInfo: WideString);
  end;

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

Для реализации интерфеса используется библиотека hse.tlb, входящая в состав поставки решения. Перед началом работы с ней, необходимо зарегистрировать ее в операционной системе.

Для установки настроек интерфейса необходимо открыть Системную форму раздела АДМИНИСТРАТОРУ, перейти на вкладку Настройки и в столбце "Заголовок закладки" установить фильтр "Обработка ошибок".

После этого в качестве значения Идентификатора класса установить "IExceptionHandler" без кавычек.

Для Библиотеки кода указать значение HSE.tlb

4. Справочник по метаданным

4.1. Вещественный домен Float (Вещественное)

Используется для репрезентации "вещественного вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого вещественного значения.

4.2. Домен больших объектов TBinaryData (Двоичные данные)
Тип сохраненных данных - btBinaryData(Двоичные данные).

Используется для описания больших двоичных объектов, содержимое которых никак не интерпретируется системой.

4.3. Домен больших объектов TComment (Текстовый комментарий)
Тип сохраненных данных - btText (Текст).
При работе с файломи используется расширение имени ".txt".

Используется для хранения текстовых комментариев, описаний произвольной длины. Значение интерпретируется как текст.

4.4. Домен больших объектов TExcelTemplateData (Данные Excel-шаблона)
Тип сохраненных данных - btBinaryData (Двоичные данные). При работе с файломи используется расширение имени " .xls ".

Используется для хранения в базе рабочих книг Microsoft Excel, например, шаблонов отчетов Excel

Тип сохраненных данных - btBinaryData (Двоичные данные).
При работе с файломи используется расширение имени ".xls".

4.5. Домен больших объектов TFileContent (Содержимое файлов)
Тип сохраненных данных - btBinaryData (Двоичные данные).

Используется для хранения содержимого доступного файла.

4.6. Домен больших объектов TFilterCondition (Условие отбора)
Тип сохраненных данных - btSourceCode (Исходный код).

Содержит выражение на языке PascalScript, определяющее условие отбора.

Тип сохраненных данных - btSourceCode (Исходный код).

4.7. Домен больших объектов TImage (Изображение)
Тип сохраненных данных - btImage (Изображение). При работе с файломи используется расширение имени " .bmp ".

Используется для хранения изображений-иконок визуальных элементов системы.

Тип сохраненных данных - btImage (Изображение).
При работе с файломи используется расширение имени ".bmp".

4.8. Домен больших объектов TInlineExpressionText (Текст выражения)
Тип сохраненных данных - btSourceCode (Исходный код).

Содержит выражение на языке PascalScript, определяющее логику работы встраиваемого выражения.

4.9. Домен больших объектов TMethodBody (Исходные тексты методов)
Тип сохраненных данных - btSourceCode (Исходный код).

Содержит исходный текст метода на языке PascalScript.

Тип сохраненных данных - btSourceCode (Исходный код).

4.10. Домен больших объектов TRoutineScript (Скрипты форм параметров)
Тип сохраненных данных - btText (Текст).

Содержит скрипт формы задания параметров на языке VBScript.

Тип сохраненных данных - btVisualBasicScript (Скрипт Visual Basic).
При работе с файломи используется расширение имени ".vbs".

4.11. Домен больших объектов TWordTemplateData (Данные Word-шаблона)
Тип сохраненных данных - btBinaryData (Двоичные данные). При работе с файломи используется расширение имени " .doc ".

Используется для хранения в базе документов Microsoft Word, например, шаблонов отчетов Word

Тип сохраненных данных - btBinaryData (Двоичные данные).
При работе с файломи используется расширение имени ".doc".

4.12. Домен больших объектов TXSLTTemplateData (Данные XSLT-шаблона)
Тип сохраненных данных - btXML (XML-документ). При работе с файлами используется расширение имени " .xsl ".

Используется для хранения в базе данных скриптов xslt-преобразований, например, шаблонов отчетов XSLT.

Тип сохраненных данных - btXML (XML-документ).
При работе с файломи используется расширение имени " .xsl ".

4.13. Домен времени TTime (Время)

Используется для репрезентации "времени вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого значения времени.

4.14. Домен дат TDate (Дата)

Используется для репрезентации "даты вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты.

4.15. Домен дат со временем TimeStamp (Момент)

Используется для репрезентации "даты со временем вообще" в функциях библиотеки времени исполнения, либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты со временем.

>

4.16. Домен дат со временем TimeStamp required (Момент (обязательный))
Значение обязательно для заполнения.

Используется для репрезентации "даты со временем вообще" в функциях библиотеки времени исполнения, либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты со временем.

4.17. Домен ссылок на объекты TAccessor domain (Роли доступа)
Ссылка на класс TSecurityAccount (Роли безопасности) . Используется для обозначения роли безопасности, используемой при создании объектов для обеспечения защиты данных в соответствии с правами пользователя.

Ссылка на класс TSecurityAccount (Роли безопасности).

4.18. Домен ссылок на объекты TActionRoutine required domain (Метод действия)
Значение обязательно для заполнения.
Ссылка на класс TRoutine (Подпрограмма).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен используется для отбора подпрограмм, по которым можно построить программируемое действие. Домен отбирает только те подпрограммы, которые принадлежат к классу, на котором основано представление, в которое включается (включено) действие, к его предкам и его потомкам в иерархии наследования. Доступ к потомкам необходим, чтобы обеспечить возможность создания объектов конечных неабстрактных бизнес-классов из представления, обеспечивающего доступ к объектам абстрактного класса.

Использование этого домена в прикладных решениях запрещено.

4.19. Домен ссылок на объекты TBanGroup domain (Группа запретов)
Значение обязательно для заполнения.
Ссылка на класс TBanGroup (Группы запретов).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен используется дочерними классами групп запретов.

4.20. Домен ссылок на объекты TBannedProperty domain (Свойство для запрета)
Значение обязательно для заполнения.
Ссылка на класс TProperty (Свойства).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает свойства класса, по которому строится запрет на свойство, либо его предков.

Использование этого домена в прикладных решениях запрещено.

4.21. Домен ссылок на объекты TBannedRoutine domain (Подпрограмма для запрета)
Значение обязательно для заполнения. Ссылка на класс TRoutine (Подпрограмма) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает подпрограммы класса, по которому строится запрет на свойство, либо его предков.

Использование этого домена в прикладных решениях запрещено.

Значение обязательно для заполнения.
Ссылка на класс TRoutine (Подпрограмма).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Объекты отбираются по следующему условию:

BannedClass.HasAsParent(Self.Master)

4.22. Домен ссылок на объекты TButtonParameter domain (Параметр командной кнопки)

4.23. Домен ссылок на объекты TClass domain (Класс)
Ссылка на класс TClass (Классы) .

Используется для задания необязательной ссылки на класс.

4.24. Домен ссылок на объекты TClass required cascade domain (Класс (с каскадным удалением))
Значение обязательно для заполнения. Ссылка на класс TClass (Классы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания обязательной каскадной ссылки на класс в объектах-запрещениях. Удаление классов должно приводить к удалению связанных с ними запрещений.

4.25. Домен ссылок на объекты TClass required domain (Класс (обязательно))
Значение обязательно для заполнения. Ссылка на класс TClass (Классы) .

Используется для задания обязательной ссылки на класс.

4.26. Домен ссылок на объекты TCodeLibrary domain (Библиотека кода)
Ссылка на класс TAccessibleFile (Доступный файл) . При удалении объекта-источника ссылки значение ссылки очищается.

Используется для организации связи между методом Ole-объекта и доступным файлом, содержащим реализацию метода.

Использование этого домена в прикладных решениях запрещено.

4.27. Домен ссылок на объекты TColorProperty domain (Домен свойства цвета)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается.

Домен отбирает свойства класса, на котором основано представление, или его предков, имеющие тип Цвет строки таблицы.

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

Использование этого домена в прикладных решениях запрещено.

4.28. Домен ссылок на объекты TColumnProperty domain (Свойство колонки)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает свойства класса, на котором основано представление, или его предков.

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

Использование этого домена в прикладных решениях запрещено.

4.29. Домен ссылок на объекты TDetailProperty domain (Свойство-подчиненное)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается.

Домен отбирает свойства класса, на котором основано представление, или его предков для организации связи между представлениями.

Использование этого домена в прикладных решениях запрещено.

4.30. Домен ссылок на объекты TDomain domain (Домен)
Ссылка на класс TDomain (Домены) .

Используется для задания необязательной ссылки на домен.

4.31. Домен ссылок на объекты TDomain required domain (Домен (обязательно))
Значение обязательно для заполнения. Ссылка на класс TDomain (Домены) .

Используется для задания обязательной ссылки на домен.

4.32. Домен ссылок на объекты TForm required domain (Форма (обязательно))
Значение обязательно для заполнения. Ссылка на класс TForm (Формы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания обязательной ссылки на форму.

4.33. Домен ссылок на объекты TFormView domain (Представления форм)
Ссылка на класс TFormView (Представления формы) . При удалении объекта-источника ссылки значение ссылки очищается.

Используется для задания ссылки на представление формы.

Использование этого домена в прикладных решениях не рекомендуется.

4.34. Домен ссылок на объекты TInitializationMember domain (Член класса для инициализации)
Ссылка на класс TClassMember (Члены класса) .

Домен отбирает члены класса, которые

  • либо являются свойствами того же класса, которому принадлежит родительский метод параметра, либо его предков, домен которых совпадает по классу с доменом параметра
  • либо являются функциями того же класса, которому принадлежит родительский метод параметра, либо его предков, домен результата которых совпадает по классу с доменом параметра

Использование этого домена в прикладных решениях запрещено.

4.35. Домен ссылок на объекты TList domain (Список объектов)
Ссылка на класс TObjectList (Списки) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания каскадной ссылки на список объектов. Списки могут использоваться в тех случаях, в которых необходимо передавать набор объектов.

4.36. Домен ссылок на объекты TMaster domain (Объект (с каскадным удалением))
Значение обязательно для заполнения. Ссылка на класс TObject (Объекты) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает объекты, которые принадлежат к тому классу, который объявлен классом-мастером класса объекта.

Использование этого домена в прикладных решениях запрещено.

Этот домен используется в объявлении свойства TObject.Master, поэтому значение его сделано обязательным: в тех случаях, когда cвойство TObject.Master (Мастер) имеет смысл (для объектов, инкапсулированных в другие объекты), значение свойства обязательно.

4.37. Домен ссылок на объекты TMaster field domain (Домен поля "Мастер")
Ссылка на класс TObject (Объекты) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает объекты, которые принадлежат к тому классу, который объявлен классом-мастером класса объекта.

Использование этого домена в прикладных решениях запрещено.

Этот домен используется в объявлении поля TObject.FMaster (Мастер), поэтому значение его сделано необязательным: объектах, не инкапсулированных в другие классы значение поля обязано оставаться пустым.

Ссылка на класс TObject (Объекты).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

4.38. Домен ссылок на объекты TMasterProperty domain (Свойство-главное)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается.

Домен отбирает свойства класса, на котором основано родительское в форме представление, или его предков для организации связи между представлениями.

Использование этого домена в прикладных решениях запрещено.

4.39. Домен ссылок на объекты TMergedObject domain (Объект для отождествления)
Значение обязательно для заполнения. Ссылка на класс TObject (Объекты) .

Объект отбирает объекты, включенные в тот же объект, что и текущий (либо они оба не включены ни в какой), и класс которых совпадает либо является родителем класса текущего объекта.

Использование этого домена в прикладных решениях запрещено.

4.40. Домен ссылок на объекты TObject domain (Объект)
Ссылка на класс TObject (Объекты) .

Домен определяет необязательную ссылку на объект системы. Используется там, где нельзя сделать предположения о классе передаваемого объекта.

4.41. Домен ссылок на объекты TOption required domain (Настройка (обязательно))
Значение обязательно для заполнения. Ссылка на класс TOption (Настройки) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен определяет обязательную ссылку на настройку системы и используется значениями настроек.

Использование этого домена в прикладных решениях запрещено.

4.42. Домен ссылок на объекты TOptionValue domain (Значение настройки)
Ссылка на класс TOptionValue (Значения настроек) .

Домен определяет ссылку на значение настройки системы.

4.43. Домен ссылок на объекты TParent domain (Родитель объекта)
Ссылка на класс TObject (Объекты) .

Домен отбирает объекты, которые могуть быть родителем объекта в иерархии.

Использование этого домена в прикладных решениях запрещено. Там, где это необходимо, используйте специализированные домены.

4.44. Домен ссылок на объекты TReadMember domain (Член класса для чтения)
Ссылка на класс TClassMember (Члены класса) .

Домен отбирает члены класса, которые

  • либо являются полями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен которых совпадает по классу с доменом свойства
  • либо являются функциями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен результата которых совпадает по классу с доменом свойства
  • либо являются встраиваемыми выражениями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен результата которых совпадает по классу с доменом свойства

Использование этого домена в прикладных решениях запрещено.

4.45. Домен ссылок на объекты TSecurityAccount domain (Роль безопасности)
Ссылка на класс TSecurityAccount (Роли безопасности) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания необязательной каскадной ссылки на роль безопасности.

4.46. Домен ссылок на объекты TSecurityAccount required domain (Роль безопасности (обязательно))
Значение обязательно для заполнения. Ссылка на класс TSecurityAccount (Роли безопасности) .

Используется для задания обязательной ссылки на роль безопасности.

4.47. Домен ссылок на объекты TSourceDataBase required domain (База данных)
Значение обязательно для заполнения. Ссылка на класс TDataBase (Базы данных) .

Домен используется для организации ссылки на логическую базу данных Системы.

Использование этого домена в прикладных решениях запрещено.

4.48. Домен ссылок на объекты TUser domain (Пользователь)
Ссылка на класс TUser (Пользователи) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания необязательной каскадной ссылки на пользователя Системы.

4.49. Домен ссылок на объекты TUser required domain (Пользователь)
Значение обязательно для заполнения. Ссылка на класс TUser (Пользователи) .

Используется для задания обязательной ссылки на пользователя.

4.50. Домен ссылок на объекты TView of ClassDomain domain (Представление)
Ссылка на класс TView (Представления) .

Домен отбирает те представления, которые основаны на классе, на который указывает ссылочный домен, либо на его предков.

Использование этого домена в прикладных решениях запрещено.

4.51. Домен ссылок на объекты TView of FormView domain (Представление для формы)
Значение обязательно для заполнения. Ссылка на класс TView (Представления) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен используется для постороения иерархии представлений форм и действий, основанных на представлении.

Использование этого домена в прикладных решениях запрещено.

4.52. Домен ссылок на объекты TVisualGroup required domain (Визуальная группа (обязательно))
Значение обязательно для заполнения. Ссылка на класс TVisualGroup (Визуальные группы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания обязательной ссылки на визуальную группу.

4.53. Домен ссылок на объекты TVisualGroup routine domain (Подпрограмма визуальной группы)
Значение обязательно для заполнения. Ссылка на класс TRoutine (Подпрограмма) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Отбирает подпрограммы, являющиеся методами класса, для использования в элементах визуальных групп.

Использование этого домена в прикладных решениях запрещено.

4.54. Домен ссылок на объекты TWriteMember domain (Член класса для записи)
Ссылка на класс TClassMember (Члены класса) .

Домен отбирает члены класса, которые

  • либо являются полями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен которых совпадает по классу с доменом свойства
  • либо являются процедурами с одним параметром того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен результата которых совпадает по классу с доменом свойства

Использование этого домена в прикладных решениях запрещено.

4.55. Класс TAccessItem (Элементы доступа)

4.55.1. Конструктор TAccessItem.Create (Конструктор элемента доступа)

4.55.2. Поле TAccessItem.FSecurityAccount (Роль безопасности)

4.55.3. Свойство TAccessItem.Description (Наименование)

4.55.4. Свойство TAccessItem.Name (Имя)

4.55.5. Свойство TAccessItem.SecurityAccount (Роль безопасности)

4.55.6. Функция TAccessItem.GetIsAccessible (Проверка доступности)

4.56. Класс TAccessibleFile (Доступный файл)
Унаследован от класса TObject (Объекты).

Класс предназначен для хранения (двоичных) именованных (cвойство TObject.Name (Имя)) файлов внутри Системы. Содержимое этих файлов используется Системой в качестве источника статичных данных (картинок, стилевых таблиц, скриптовых библиотек, etc), доступных по протоколу http внутри отчета XSLT и для хранения библиотек кода, содержащих логику работы методов Ole-объекта. Разработчик решения вправе распорядится доступными файлами по своему усмотрению.

4.56.1. Конструктор TAccessibleFile.Create (Конструктор доступного файла)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
FileData (Данные файла) | TFileContent (Содержимое файлов) |  | Доступен |

Конструирует объект класса TAccessibleFile (Доступный файл) .

4.56.2. Поле TAccessibleFile.FFileData (Данные файла)
FFileData: TFileContent (Содержимое файлов).

Используется для хранения значений свойства TAccessibleFile.FileData (Данные файла).

4.56.3. Свойство TAccessibleFile.FileData (Данные файла)
FileData : TFileContent (Содержимое файлов) .

Для чтения и записи свойства используется поле TAccessibleFile.FFileData (Данные файла) .

Это свойство определяет содержимое доступного файла.

4.57. Класс TAction (Действия)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

Объекты класса моделируют элементы контектсного меню представления. Иерархия элементов контектсного меню отображается на иерахию объектов класса.

Сам по себе объект класса TAction определяет положение и поведение соответствующего пункта контекстного меню, кроме ассоциированного с пуктом действия. Для спецификации этого действия существуют классы-наследники TAction: класс TRoutineAction (Программируемое действие) и класс TViewAction (Действие-представление). Таким образом, объекты собственно класса TAction создаются на месте родительских пунктов контекстного меню, раскрывающихся, содержащих Стрелка раскрытия контекстного меню. Несмотря на то, что класс не является абстратным в строгом смылсле этого слова, ни одного объекта этого класса в системных метаданных нет в силу простоты структуры контекстного меню системных представлений. Разработчик решений не ограничен в создании и использовании объектов этого класса. Никаких общих рекомендаций тут быть не может, единственное, что можно утверждать - что контекстное меню должно быть удобным и в достижении этой цели можно организовывать требуемую иерархическую структуру.

Иерархия объектов класса TAction
На основе иерархии действий, показанной на рисунке (в таблице отображен фактический класс каждого объекта) построено следующее контекстное меню:
Контекстное меню, построенное на основе иерархии объектов класса TAction

4.57.1. Конструктор TAction.Create (Конструктор действия)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) |  | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TAction (Действия) .

4.57.2. Поле TAction.FDefault (По умолчанию)
FDefault : Boolean (Обычное логическое) (обязательно для заполнения).

Используется для хранения значений свойства TAction.Default (По умолчанию).

4.57.3. Поле TAction.FPosition (Позиция)
FPosition : TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TAction.Position (Позиция).

4.57.4. Поле TAction.FSeparated (Отделено)
FSeparated : Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TAction.Separated (Отделено).

4.57.5. Поле TAction.FShortcut (Горячая клавиша)
FShortcut : TShortcut (Горячие клавиши) .

Используется для хранения значений свойства TAction.Shortcut (Горячая клавиша).

4.57.6. Свойство TAction.Default (По умолчанию)
Default : Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FDefault (По умолчанию) .

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

Действие по умолчанию

4.57.7. Свойство TAction.Position (Позиция)
Position : TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FPosition (Позиция) .

Действия сортируются в пределах уровня для построения контекстного меню в порядке возрастания этого своства.

4.57.8. Свойство TAction.Separated (Отделено)
Separated : Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FSeparated (Отделено) .

После пункта меню, соответствующего действию с установленным свойством, будет отображен разделитель. Если пункт меню - последний, то разделитель не будет отображен.

Разделитель в контектстном меню

4.57.9. Свойство TAction.Shortcut (Горячая клавиша)
Shortcut : TShortcut (Горячие клавиши) .

Для чтения и записи свойства используется поле TAction.FShortcut (Горячая клавиша) .

Горячая клавиша определяет связь между нажатием сочетания клавиш на клавиатуре и действием, ассоциированным с пунктом меню. Тест, описывающий горячую клавишу, располагается справа в контекстном меню для тех действий, для которых горячая клавиша назначена.

4.57.10. Функция TAction.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен | Master (Мастер)
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Возвращает значение типа Integer (Целое).

Используется для инициализации значения параметра Position (Позиция) метода TAction.Create (Конструктор действия). Вычисляет следующую позицию добавляемого действия.

4.58. Класс TBanGroup (Группы запретов)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TBanGroupAccess (Доступ к группам запретов)
  • TBanGroupItem (Элементы группы запретов)
  • TClassBan (Запрет на класс)
  • TRoutineBan (Запрет на подпрограмму)
  • TPropertyBan (Запрет на свойство)

Объекты класса определяют группы запретов. Запреты на классы, свойства и подпрограммы объединяются разработчиком в функциональные группы, являющиеся группами запретов. В дальнейшем эти группы ассоциируются с конкретными ролями безопасности.

4.58.1. Конструктор TBanGroup.Create (Конструктор группы запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TBanGroup (Группы запретов) .

4.58.2. Свойство TBanGroup.IsAccessible (Доступна)
IsAccessible : Boolean (Обычное логическое) (обязательно для заполнения).

Для чтения значения свойства используется функция TBanGroup.GetIsAccessible (Доступна) . Свойство доступно только для чтения.

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

4.58.3. Функция TBanGroup.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TBanGroup.IsAccessible (Доступна).

4.59. Класс TBanGroupAccess (Доступ к группам запретов)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

Объекты класса определяют связь между родительской группой запретов и ролью безопасности.

Имя и наименование объекта полностью определяются другими свойствами, и запрещены для изменения.

4.59.1. Конструктор TBanGroupAccess.Create (Конструктор доступа к группе запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Группа запретов) | TBanGroup domain (Группа запретов) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TBanGroupAccess (Доступ к группам запретов) .

4.60. Класс TBanGroupItem (Элементы группы запретов)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

4.60.1. Конструктор TBanGroupItem.Create (Конструктор элемента группы запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TBanGroupItem (Элементы группы запретов) .

4.61. Класс TBlobDomain (Большие объекты)
Унаследован от класса TDomain (Домены) .

4.61.1. Конструктор TBlobDomain.Create (Конструктор домена больших объектов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
BlobSubtype (Подтип) | TBlobSubtype (Подтип) |  | Доступен |
Extension (Расширение) | TFileExtension (Расширение имени файла) |  | Доступен |

Конструирует объект класса TBlobDomain (Большие объекты) .

4.61.2. Поле TBlobDomain.FBlobSubtype (Подтип)
FBlobSubtype: TBlobSubtype (Подтип) (обязательно для заполнения) .

Используется для хранения значений свойства TBlobDomain.BlobSubtype (Подтип)
.

4.61.3. Поле TBlobDomain.FExtension (Расширение имени)
FExtension: TFileExtension (Расширение имени файла) .

Используется для хранения значений свойства TBlobDomain.Extension (Расширение)
.

4.61.4. Свойство TBlobDomain.BlobSubtype (Подтип)
BlobSubtype: TBlobSubtype (Подтип) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBlobDomain.FBlobSubtype (Подтип) .

4.61.5. Свойство TBlobDomain.Extension (Расширение)
Extension: TFileExtension (Расширение имени файла) .

Для чтения и записи свойства используется поле TBlobDomain.FExtension (Расширение имени) .

4.62. Класс TBooleanDomain (Логические)
Унаследован от класса TDomain (Домены) .

4.62.1. Конструктор TBooleanDomain.Create (Конструктор логического домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
TrueValue (Значение "Истина") | TObjectName (Имена) |  | Доступен |
FalseValue (Значение "Ложь") | TObjectName (Имена) |  | Доступен |

Конструирует объект класса TBooleanDomain (Логические) .

4.62.2. Поле TBooleanDomain.FFalseValue (Значение "Ложь")
FFalseValue: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойства TBooleanDomain.FalseValue (Значение "Ложь")
.

4.62.3. Поле TBooleanDomain.FTrueValue (Значение "Истина")
FTrueValue: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойства TBooleanDomain.TrueValue (Значение "Истина")
.

4.62.4. Свойство TBooleanDomain.FalseValue (Значение "Ложь")
FalseValue: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBooleanDomain.FFalseValue (Значение "Ложь") .

4.62.5. Свойство TBooleanDomain.TrueValue (Значение "Истина")
TrueValue: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBooleanDomain.FTrueValue (Значение "Истина") .

4.63. Класс TClass (Классы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты могут включать в себя объекты классов:
  • TClassMember (Члены класса)
  • TField (Поля)
  • TProperty (Свойства)
  • TMethod (Методы)
  • TXSLTTemplate (Шаблоны отчетов XSLT)
  • TExcelTemplate (Шаблоны отчетов Excel)
  • TRoutine (Подпрограмма)
  • TOleObjectMethod (Метод Ole-объекта)
  • TInlineExpression (Встраиваемое выражение)
  • TWordTemplate (Шаблоны отчетов Word)

4.63.1. Конструктор TClass.Create (Конструктор класса)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsHierarhical (Является иерархическим) | Boolean (Обычное логическое) |  | Доступен |
MasterClass (Класс-мастер) | TClass domain (Класс) |  | Доступен |
ReplicationStatus (Статус репликации) | TReplicationStatus (Статус репликации) |  | Доступен |
SecurityModel (Модель безопасности) | TSecurityModel (Модели безопасности) |  | Доступен |
UnNamed (Неименованный) | Boolean (Обычное логическое) |  | Доступен |
NameExpression (Выражение имени объекта) | TInlineExpressionText (Текст выражения) |  | Доступен |
DescriptionExpression (Выражение наименования объекта) | TInlineExpressionText (Текст выражения) |  | Доступен |
CreateConstructor (Создать конструктор) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TClass (Классы) .

4.63.2. Поле TClass.FDescriptionExpression (Выражение наименования объекта)
FDescriptionExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TClass.DescriptionExpression (Выражение наименования объекта)
.

4.63.3. Поле TClass.FIsHierarhical (Является иерархическим)
FIsHierarhical: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.IsHierarhical (Является иерархическим)
.

4.63.4. Поле TClass.FMasterClass (Класс-мастер)
FMasterClass: TClass domain (Класс) .

Используется для хранения значений свойств:
TClass.MasterClass (Класс-мастер)
TView.ShownClassMasterClass (Класс-мастер показываемого)
.

4.63.5. Поле TClass.FNameExpression (Выражение имени объекта)
FNameExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TClass.NameExpression (Выражение имени объекта)
.

4.63.6. Поле TClass.FReplicationStatus (Статус репликации)
FReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Используется для хранения значений свойств:
TClass.ReplicationStatus (Статус репликации)
TObject.ReplicationStatus (Статус репликации)
TView.ShownClassReplicationStatus (Статус репликации класса)
.

4.63.7. Поле TClass.FSecurityModel (Модель безопасности)
FSecurityModel: TSecurityModel (Модели безопасности) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.SecurityModel (Модель безопасности)
.

4.63.8. Поле TClass.FUnNamed (Неименованный)
FUnNamed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.UnNamed (Неименованный)
.

4.63.9. Процедура TClass.GenerateConstructor (Сгенерировать текст конструктора)

4.63.10. Свойство TClass.DescriptionExpression (Выражение наименования объекта)
DescriptionExpression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TClass.FDescriptionExpression (Выражение наименования объекта) .

4.63.11. Свойство TClass.IsHierarhical (Является иерархическим)
IsHierarhical: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TClass.FIsHierarhical (Является иерархическим) .

4.63.12. Свойство TClass.MasterClass (Класс-мастер)
MasterClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TClass.FMasterClass (Класс-мастер) .

4.63.13. Свойство TClass.NameExpression (Выражение имени объекта)
NameExpression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TClass.FNameExpression (Выражение имени объекта) .

4.63.14. Свойство TClass.ReplicationStatus (Статус репликации)
ReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

4.63.15. Свойство TClass.SecurityModel (Модель безопасности)
SecurityModel: TSecurityModel (Модели безопасности) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FSecurityModel (Модель безопасности) .

4.63.16. Свойство TClass.UnNamed (Неименованный)
UnNamed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FUnNamed (Неименованный) .

4.63.17. Функция TClass.ListProperties (Список видимых свойств)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

Возвращает значение типа TList domain (Список объектов) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

4.63.18. Функция TClass.ListRoutines (Список видимых подпрограмм)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

Возвращает значение типа TList domain (Список объектов) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

4.63.19. Шаблон отчета XSLT TClass.ClassesDiagram (Диаграмма классов)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ShowFields (Показывать поля) | Boolean (Обычное логическое) |  | Доступен |
ShowMethods (Показывать методы) | Boolean (Обычное логическое) |  | Доступен |
ShowProperties (Показывать свойства) | Boolean (Обычное логическое) |  | Доступен |
ShowParameters (Показывать параметры) | Boolean (Обычное логическое) |  | Доступен |
ShowMetadata (Показывать метаданные) | Boolean (Обычное логическое) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ShowFields (Показывать поля) | Boolean (Обычное логическое) |  | Доступен |
ShowMethods (Показывать методы) | Boolean (Обычное логическое) |  | Доступен |
ShowProperties (Показывать свойства) | Boolean (Обычное логическое) |  | Доступен |
ShowParameters (Показывать параметры) | Boolean (Обычное логическое) |  | Доступен |
ShowMetadata (Показывать метаданные) | Boolean (Обычное логическое) |  | Доступен |

4.64. Класс TClassBan (Запрет на класс)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

4.64.1. Конструктор TClassBan.Create (Конструктор запрета на класс)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |

Конструирует объект класса TClassBan (Запрет на класс) .

4.64.2. Поле TClassBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TClassBan.BannedClass (Запрещаемый класс)
.

4.64.3. Свойство TClassBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TClassBan.FBannedClass (Запрещенный класс) .

4.65. Класс TClassDomain (Ссылки на объекты)
Унаследован от класса TDomain (Домены) .

4.65.1. Конструктор TClassDomain.Create (Конструктор домена-ссылки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
ClassOfDomain (Класс домена) | TClass required domain (Класс (обязательно)) |  | Доступен |
View (Представление для выбора) | TView of ClassDomain domain (Представление) |  | Доступен |
FilterCondition (Условие отбора) | TFilterCondition (Условие отбора) |  | Доступен |
ShowObjectInfoType (Тип представления объектов) | TShowObjectInfoType (Тип представления объектов) |  | Доступен |
DeleteRule (Правило удаления) | TDeleteRule (Правило удаления) |  | Доступен |

Конструирует объект класса TClassDomain (Ссылки на объекты) .

4.65.2. Поле TClassDomain.FClass (Класс)
FClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.ClassOfDomain (Класс домена)
.

4.65.3. Поле TClassDomain.FDeleteRule (Правило удаления)
FDeleteRule: TDeleteRule (Правило удаления) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.DeleteRule (Правило удаления)
.

4.65.4. Поле TClassDomain.FFilterCondition (Условие отбора)
FFilterCondition: TFilterCondition (Условие отбора) .

Используется для хранения значений свойства TClassDomain.FilterCondition (Условие отбора)
.

4.65.5. Поле TClassDomain.FShowObjectInfoType (Тип представления объектов)
FShowObjectInfoType: TShowObjectInfoType (Тип представления объектов) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.ShowObjectInfoType (Тип представления объектов)
.

4.65.6. Поле TClassDomain.FView (Представление)
FView: TView of ClassDomain domain (Представление) .

Используется для хранения значений свойства TClassDomain.View (Представление)
.

4.65.7. Свойство TClassDomain.ClassOfDomain (Класс домена)
ClassOfDomain: TClass domain (Класс) .

Для чтения и записи свойства используется поле TClassDomain.FClass (Класс) .

4.65.8. Свойство TClassDomain.ClassReplicationStatus (Статус репликации класса)

4.65.9. Свойство TClassDomain.DeleteRule (Правило удаления)
DeleteRule: TDeleteRule (Правило удаления) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClassDomain.FDeleteRule (Правило удаления) .

4.65.10. Свойство TClassDomain.FilterCondition (Условие отбора)
FilterCondition: TFilterCondition (Условие отбора) .

Для чтения и записи свойства используется поле TClassDomain.FFilterCondition (Условие отбора) .

4.65.11. Свойство TClassDomain.ShowObjectInfoType (Тип представления объектов)
ShowObjectInfoType: TShowObjectInfoType (Тип представления объектов) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClassDomain.FShowObjectInfoType (Тип представления объектов) .

4.65.12. Свойство TClassDomain.View (Представление)
View: TView of ClassDomain domain (Представление) .

Для чтения и записи свойства используется поле TClassDomain.FView (Представление) .

4.66. Класс TClassMember (Члены класса)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TClass (Классы) .

4.67. Класс TCommandButton (Командные кнопки)

4.67.1. Конструктор TCommandButton.Create (Конструктор командной кнопки)

4.67.2. Поле TCommandButton.FGroup (Заголовок группы)

4.67.3. Поле TCommandButton.FParameter (Связанный параметр)

4.67.4. Поле TCommandButton.FPosition (Позиция)

4.67.5. Поле TCommandButton.FScript (Скрипт)

4.67.6. Поле TCommandButton.FTab (Заголовок закладки)

4.67.7. Свойство TCommandButton.Group (Заголовок группы)

4.67.8. Свойство TCommandButton.Parameter (Связанный параметр)

4.67.9. Свойство TCommandButton.Position (Позиция)

4.67.10. Свойство TCommandButton.Script (Скрипт)

4.67.11. Свойство TCommandButton.Tab (Заголовок закладки)

4.67.12. Функция TCommandButton.GetNextPos (Следующая позиция)

4.68. Класс TDataBase (Базы данных)
Унаследован от класса TObject (Объекты) .

4.68.1. Конструктор TDataBase.Create (Конструктор базы данных)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
GUID (GUID) | TGUID (Уникальные идентификаторы) |  | Доступен |
Protected (Защищена) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TDataBase (Базы данных) .

4.68.2. Поле TDataBase.FGUID (Идентификатор)
FGUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDataBase.GUID (Идентификатор)
TObject.SourceDataBaseGUID (GUID базы даных-источника)
.

4.68.3. Поле TDataBase.FIsCurrent (Является текущей)
FIsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDataBase.IsCurrent (Является текущей)
TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
.

4.68.4. Поле TDataBase.FProtected (Защищена)
FProtected: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TDataBase.Protected (Защищена от изменений)
.

4.68.5. Свойство TDataBase.GUID (Идентификатор)
GUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FGUID (Идентификатор) .

4.68.6. Свойство TDataBase.IsCurrent (Является текущей)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FIsCurrent (Является текущей) .

4.68.7. Свойство TDataBase.Protected (Защищена от изменений)
Protected: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDataBase.FProtected (Защищена) .

4.69. Класс TDateDomain (Даты)
Унаследован от класса TDomain (Домены) .

4.69.1. Конструктор TDateDomain.Create (Конструктор домена даты)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TDateDomain (Даты) .

4.70. Класс TDateTimeDomain (Даты со временем)
Унаследован от класса TDomain (Домены) .

4.70.1. Конструктор TDateTimeDomain.Create (Конструктор домена даты со временем)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TDateTimeDomain (Даты со временем) .

4.71. Класс TDomain (Домены)
Унаследован от класса TObject (Объекты) .

4.71.1. Встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей)
GetDependencyCount: Integer (Целое) .

Текст выражения:

count(TField with Domain = Self) +
count(TProperty with Domain = Self) +
count(TRoutine with Domain = Self) +
count(TParameter with Domain = Self) +
count(TOption with Domain = Self)

Используется для вычисления значений свойства TDomain.DependencyCount (Количество зависимостей)
.

4.71.2. Конструктор TDomain.Create (Конструктор домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TDomain (Домены) .

4.71.3. Поле TDomain.FRequired (Обязательно для заполнения)
FRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDomain.Required (Обязательно для заполнения)
TField.DomainRequired (Обязательно для заполнения)
TInlineExpression.DomainRequired (Обязательно для заполнения)
TProperty.DomainRequired (Обязательно для заполнения)
TParameter.DomainRequired (Обязательно для заполнения)
TOption.DomainRequired (Обязательно для заполнения)
.

4.71.4. Свойство TDomain.DependencyCount (Количество зависимостей)
DependencyCount: Integer (Целое) . Вычисление свойства отложено.

Для чтения значения свойства используется встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей) .

4.71.5. Свойство TDomain.Required (Обязательно для заполнения)
Required: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

4.72. Класс TEnumerationDomain (Перечисления)
Унаследован от класса TDomain (Домены) . Объекты могут включать в себя объекты классов:
  • TEnumerationItem (Элементы перечислений)

4.72.1. Конструктор TEnumerationDomain.Create (Конструктор перечисления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
ShowNames (Показывать имена элементов) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TEnumerationDomain (Перечисления) .

4.72.2. Поле TEnumerationDomain.FShowNames (Показывать имена)
FShowNames: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TEnumerationDomain.ShowNames (Показывать имена)
.

4.72.3. Свойство TEnumerationDomain.ShowNames (Показывать имена)
ShowNames: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TEnumerationDomain.FShowNames (Показывать имена) .

4.73. Класс TEnumerationItem (Элементы перечислений)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TEnumerationDomain (Перечисления) .

4.73.1. Конструктор TEnumerationItem.Create (Конструктор элемента перечисления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)

Конструирует объект класса TEnumerationItem (Элементы перечислений) .

4.73.2. Поле TEnumerationItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TEnumerationItem.Position (Позиция)
.

4.73.3. Свойство TEnumerationItem.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TEnumerationItem.FPosition (Позиция) .

4.73.4. Функция TEnumerationItem.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TEnumerationItem.Create (Конструктор элемента перечисления)
.

4.74. Класс TExcelTemplate (Шаблоны отчетов Excel)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

4.74.1. Конструктор TExcelTemplate.Create (Конструктор шаблона Excel)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TExcelTemplateData (Данные Excel-шаблона) |  | Доступен |
PlaceDataOnSheet (Лист для переноса данных) | TExcelSheetKind (Тип листа Excel) |  | Доступен |
MacroName (Имя макроса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TExcelTemplate (Шаблоны отчетов Excel) .

4.74.2. Поле TExcelTemplate.FMacroName (Имя макроса)
FMacroName: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TExcelTemplate.MacroName (Имя макроса)
.

4.74.3. Поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных)
FPlaceDataOnSheet: TExcelSheetKind (Тип листа Excel) (обязательно для заполнения) .

Используется для хранения значений свойства TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)
.

4.74.4. Поле TExcelTemplate.FTemplateData (Данные шаблона)
FTemplateData: TExcelTemplateData (Данные Excel-шаблона) .

Используется для хранения значений свойства TExcelTemplate.TemplateData (Данные шаблона)
.

4.74.5. Свойство TExcelTemplate.MacroName (Имя макроса)
MacroName: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TExcelTemplate.FMacroName (Имя макроса) .

4.74.6. Свойство TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)
PlaceDataOnSheet: TExcelSheetKind (Тип листа Excel) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных) .

4.74.7. Свойство TExcelTemplate.TemplateData (Данные шаблона)
TemplateData: TExcelTemplateData (Данные Excel-шаблона) .

Для чтения и записи свойства используется поле TExcelTemplate.FTemplateData (Данные шаблона) .

4.75. Класс TField (Поля)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) .

4.75.1. Конструктор TField.Create (Конструктор поля)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
CreateProperty (Создать свойство) | Boolean (Обычное логическое) |  | Доступен |
CreateConstructorParameter (Создать параметр конструктора) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TField (Поля) .

4.75.2. Поле TField.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TField.Domain (Домен)
.

4.75.3. Свойство TField.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TField.FDomain (Домен) .

4.75.4. Свойство TField.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

4.75.5. Свойство TField.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

4.76. Класс TFileNameDomain (Имена файлов)
Унаследован от класса TStringDomain (Строковые) .

4.76.1. Конструктор TFileNameDomain.Create (Конструктор имени файла)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) | Унаследован | Доступен |
FileMustExist (Файл должен существовать) | Boolean (Обычное логическое) |  | Доступен |
DefaultExtension (Расширение по умолчанию) | TFileExtension (Расширение имени файла) |  | Доступен |
OverwritePrompt (Запрос перезаписи) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TFileNameDomain (Имена файлов) .

4.76.2. Поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию)
FDefaultExtension: TFileExtension (Расширение имени файла) .

Используется для хранения значений свойства TFileNameDomain.DefaultExtension (Расширение по умолчанию)
.

4.76.3. Поле TFileNameDomain.FFileMustExist (Файл должен существовать)
FFileMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFileNameDomain.FileMustExist (Файл должен существовать)
.

4.76.4. Поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи)
FOverwritePrompt: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFileNameDomain.OverwritePrompt (Запрос перезаписи)
.

4.76.5. Процедура TFileNameDomain.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

4.76.6. Свойство TFileNameDomain.DefaultExtension (Расширение по умолчанию)
DefaultExtension: TFileExtension (Расширение имени файла) .

Для чтения и записи свойства используется поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию) .

4.76.7. Свойство TFileNameDomain.FileMustExist (Файл должен существовать)
FileMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFileNameDomain.FFileMustExist (Файл должен существовать) .

4.76.8. Свойство TFileNameDomain.OverwritePrompt (Запрос перезаписи)
OverwritePrompt: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи) .

4.77. Класс TFloatDomain (Вещественные числа)
Унаследован от класса TDomain (Домены) .

4.77.1. Конструктор TFloatDomain.Create (Конструктор вещественного домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Длина) | TPrescision (Точность) |  | Доступен |
DecimalPlaces (Количество десятичных знаков) | TPrescision (Точность) |  | Доступен |
MinValue (Минимальное значение) | Float (Вещественное) |  | Доступен |
MaxValue (Максимальное значение) | Float (Вещественное) |  | Доступен |

Конструирует объект класса TFloatDomain (Вещественные числа) .

4.77.2. Поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой)
FDecimalPlaces: TPrescision (Точность) .

Используется для хранения значений свойства TFloatDomain.DecimalPlaces (Количество десятичных знаков)
.

4.77.3. Поле TFloatDomain.FLength (Максимальная длина)
FLength: TPrescision (Точность) .

Используется для хранения значений свойства TFloatDomain.Length (Длина)
.

4.77.4. Поле TFloatDomain.FMaxValue (Максимальное значение)
FMaxValue: Float (Вещественное) .

Используется для хранения значений свойства TFloatDomain.MaxValue (Максимальное значение)
.

4.77.5. Поле TFloatDomain.FMinValue (Минимальное значение)
FMinValue: Float (Вещественное) .

Используется для хранения значений свойства TFloatDomain.MinValue (Минимальное значение)
.

4.77.6. Свойство TFloatDomain.DecimalPlaces (Количество десятичных знаков)
DecimalPlaces: TPrescision (Точность) .

Для чтения и записи свойства используется поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой) .

4.77.7. Свойство TFloatDomain.Length (Длина)
Length: TPrescision (Точность) .

Для чтения и записи свойства используется поле TFloatDomain.FLength (Максимальная длина) .

4.77.8. Свойство TFloatDomain.MaxValue (Максимальное значение)
MaxValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TFloatDomain.FMaxValue (Максимальное значение) .

4.77.9. Свойство TFloatDomain.MinValue (Минимальное значение)
MinValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TFloatDomain.FMinValue (Минимальное значение) .

4.78. Класс TFolderNameDomain (Имена папок файловой системы)
Унаследован от класса TStringDomain (Строковые) .

4.78.1. Конструктор TFolderNameDomain.Create (Конструктор имени папки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) | Унаследован | Доступен |
FolderMustExist (Папка должна существовать) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TFolderNameDomain (Имена папок файловой системы) .

4.78.2. Поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать)
FFolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFolderNameDomain.FolderMustExist (Папка должна существовать)
.

4.78.3. Процедура TFolderNameDomain.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

4.78.4. Свойство TFolderNameDomain.FolderMustExist (Папка должна существовать)
FolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать) .

4.79. Класс TForm (Формы)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TFormAccess (Доступ к формам)
  • TFormView (Представления формы)

4.79.1. Конструктор TForm.Create (Конструктор формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
AutoOpen (Открывать автоматически) | Boolean (Обычное логическое) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Image (Изображение-иконка) | TImage (Изображение) |  | Доступен |
IsAlive ("Живая") | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TForm (Формы) .

4.79.2. Поле TForm.FAutoOpen (Открывать автоматически)
FAutoOpen: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.AutoOpen (Открывать автоматически)
.

4.79.3. Поле TForm.FImage (Изображеие-иконка)
FImage: TImage (Изображение) .

Используется для хранения значений свойств:
TForm.Image (Изображение-иконка)
TVisualGroupForm.Image (Изображение)
.

4.79.4. Поле TForm.FIsAlive (Живая)
FIsAlive: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.IsAlive ("Живая")
.

4.79.5. Поле TForm.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.Position (Позиция)
.

4.79.6. Поле TForm.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.Scope (Область видимости)
.

4.79.7. Свойство TForm.AutoOpen (Открывать автоматически)
AutoOpen: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FAutoOpen (Открывать автоматически) .

4.79.8. Свойство TForm.Image (Изображение-иконка)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TForm.FImage (Изображеие-иконка) .

4.79.9. Свойство TForm.IsAccessible (Доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TForm.GetIsAccessible (Доступна) .

4.79.10. Свойство TForm.IsAlive ("Живая")
IsAlive: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FIsAlive (Живая) .

4.79.11. Свойство TForm.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FPosition (Позиция) .

4.79.12. Свойство TForm.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FScope (Область видимости) .

4.79.13. Функция TForm.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойств:
TForm.IsAccessible (Доступна)
TInstantMessage.IsAccessible (Форма доступна)
.

4.79.14. Функция TForm.GetNextPos (Следующая позиция)
Является методом класса.

Возвращает значение типа Integer (Целое) .

Используется для инициализации значения параметра Position (Позиция) подпрограммы TForm.Create (Конструктор формы)
.

4.80. Класс TFormAccess (Доступ к формам)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TForm (Формы) .

4.80.1. Конструктор TFormAccess.Create (Конструктор доступа к форме)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Форма) | TForm required domain (Форма (обязательно)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TFormAccess (Доступ к формам) .

4.81. Класс TFormView (Представления формы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TForm (Формы) .

4.81.1. Конструктор TFormView.Create (Конструктор представления формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
View (Представление) | TView of FormView domain (Представление для формы) |  | Доступен |
ChildrenMinimized (Дочерние представления минимизированы) | Boolean (Обычное логическое) |  | Доступен |
ChildrenOnTabs (Дочерние представления на закладках) | Boolean (Обычное логическое) |  | Доступен |
MasterProperty (Свойство-главное) | TMasterProperty domain (Свойство-главное) |  | Доступен |
DetailProperty (Свойство-подчиненное) | TDetailProperty domain (Свойство-подчиненное) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
SpacePercentage (Площадь, %) | Percent (Процент) |  | Доступен |

Конструирует объект класса TFormView (Представления формы) .

4.81.2. Поле TFormView.FChildrenMinimized (Дочерние представления минимизированы)
FChildrenMinimized: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.ChildrenMinimized (Дочерние представления минимизированы)
.

4.81.3. Поле TFormView.FChildrenOnTabs (Дочерние представления на закладках)
FChildrenOnTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.ChildrenOnTabs (Дочерние представления на закладках)
.

4.81.4. Поле TFormView.FDetailProperty (Свойство-подчиненное)
FDetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Используется для хранения значений свойства TFormView.DetailProperty (Свойство-подчиненное)
.

4.81.5. Поле TFormView.FMasterProperty (Свойство-главное)
FMasterProperty: TMasterProperty domain (Свойство-главное) .

Используется для хранения значений свойства TFormView.MasterProperty (Свойство-главное)
.

4.81.6. Поле TFormView.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.Position (Позиция)
.

4.81.7. Поле TFormView.FSingleQuery (Единственный запрос)

4.81.8. Поле TFormView.FSpacePercentage (Площадь)
FSpacePercentage: Percent (Процент) .

Используется для хранения значений свойства TFormView.SpacePercentage (Площадь, %)
.

4.81.9. Поле TFormView.FView (Представление)
FView: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.View (Представление)
.

4.81.10. Свойство TFormView.ChildrenMinimized (Дочерние представления минимизированы)
ChildrenMinimized: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FChildrenMinimized (Дочерние представления минимизированы) .

4.81.11. Свойство TFormView.ChildrenOnTabs (Дочерние представления на закладках)
ChildrenOnTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FChildrenOnTabs (Дочерние представления на закладках) .

4.81.12. Свойство TFormView.Collapsed (Узлы свернуты)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FCollapsed (Свернуто) .

Дочернее свойство свойства View (Представление) .

4.81.13. Свойство TFormView.ColorProperty (Свойство-цвет)
ColorProperty: TColorProperty domain (Домен свойства цвета) .

Для чтения и записи свойства используется поле TView.FColorProperty (Свойство цвета) .

Дочернее свойство свойства View (Представление) .

4.81.14. Свойство TFormView.DetailProperty (Свойство-подчиненное)
DetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Для чтения и записи свойства используется поле TFormView.FDetailProperty (Свойство-подчиненное) .

4.81.15. Свойство TFormView.MasterProperty (Свойство-главное)
MasterProperty: TMasterProperty domain (Свойство-главное) .

Для чтения и записи свойства используется поле TFormView.FMasterProperty (Свойство-главное) .

4.81.16. Свойство TFormView.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FPosition (Позиция) .

4.81.17. Свойство TFormView.ShownClass (Показываемый класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FShownClass (Класс для показа) .

Дочернее свойство свойства View (Представление) .

4.81.18. Свойство TFormView.SingleQuery (Единственный запрос)

4.81.19. Свойство TFormView.SpacePercentage (Площадь, %)
SpacePercentage: Percent (Процент) .

Для чтения и записи свойства используется поле TFormView.FSpacePercentage (Площадь) .

4.81.20. Свойство TFormView.View (Представление)
View: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FView (Представление) .

4.81.21. Функция TFormView.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)

Используется для инициализации значения параметра Position (Позиция) подпрограммы TFormView.Create (Конструктор представления формы)
.

4.82. Класс TInlineExpression (Встраиваемое выражение)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) .

4.82.1. Конструктор TInlineExpression.Create (Конструктор встраиваемого выражения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Expression (Выражение) | TInlineExpressionText (Текст выражения) |  | Доступен |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |

Конструирует объект класса TInlineExpression (Встраиваемое выражение) .

4.82.2. Поле TInlineExpression.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TInlineExpression.Domain (Домен)
.

4.82.3. Поле TInlineExpression.FExpression (Выражение)
FExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TInlineExpression.Expression (Выражение)
.

4.82.4. Свойство TInlineExpression.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInlineExpression.FDomain (Домен) .

4.82.5. Свойство TInlineExpression.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

4.82.6. Свойство TInlineExpression.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

4.82.7. Свойство TInlineExpression.Expression (Выражение)
Expression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TInlineExpression.FExpression (Выражение) .

4.83. Класс TInstantMessage (Сообщения)
Унаследован от класса TObject (Объекты) .

4.83.1. Конструктор TInstantMessage.Create (Конструктор сообщения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
User (Пользователь) | TUser required domain (Пользователь) |  | Доступен |
FormView (Представление формы) | TFormView domain (Представления форм) |  | Доступен |
Object (Объект) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TInstantMessage (Сообщения) .

4.83.2. Поле TInstantMessage.FFormView (Представление формы)
FFormView: TFormView domain (Представления форм) .

Используется для хранения значений свойства TInstantMessage.FormView (Представление формы)
.

4.83.3. Поле TInstantMessage.FObject (Объект)
FObject: TObject domain (Объект) .

Используется для хранения значений свойства TInstantMessage.Object (Объект)
.

4.83.4. Поле TInstantMessage.FUser (Пользователь)
FUser: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TInstantMessage.User (Пользователь)
.

4.83.5. Поле TInstantMessage.FViewed (Просмотрено)
FViewed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TInstantMessage.Viewed (Просмотрено)
.

4.83.6. Свойство TInstantMessage.Form (Форма)
Form: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

Дочернее свойство свойства FormView (Представление формы) .

4.83.7. Свойство TInstantMessage.FormView (Представление формы)
FormView: TFormView domain (Представления форм) .

Для чтения и записи свойства используется поле TInstantMessage.FFormView (Представление формы) .

4.83.8. Свойство TInstantMessage.IsAccessible (Форма доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TForm.GetIsAccessible (Доступна) .

Дочернее свойство свойства Form (Форма) .

4.83.9. Свойство TInstantMessage.IsCurrent (Текущему пользователю)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

Дочернее свойство свойства User (Пользователь) .

4.83.10. Свойство TInstantMessage.Object (Объект)
Object: TObject domain (Объект) .

Для чтения и записи свойства используется поле TInstantMessage.FObject (Объект) .

4.83.11. Свойство TInstantMessage.User (Пользователь)
User: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInstantMessage.FUser (Пользователь) .

4.83.12. Свойство TInstantMessage.Viewed (Просмотрено)
Viewed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInstantMessage.FViewed (Просмотрено) .

4.84. Класс TIntegerDomain (Целые числа)
Унаследован от класса TDomain (Домены) .

4.84.1. Конструктор TIntegerDomain.Create (Конструктор целочисленного домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
MinValue (Минимальное значение) | Integer (Целое) |  | Доступен |
MaxValue (Максимальное значение) | Integer (Целое) |  | Доступен |

Конструирует объект класса TIntegerDomain (Целые числа) .

4.84.2. Поле TIntegerDomain.FMaxValue (Максимальное значение)
FMaxValue: Integer (Целое) .

Используется для хранения значений свойства TIntegerDomain.MaxValue (Максимальное значение)
.

4.84.3. Поле TIntegerDomain.FMinValue (Минимальное значение)
FMinValue: Integer (Целое) .

Используется для хранения значений свойства TIntegerDomain.MinValue (Минимальное значение)
.

4.84.4. Свойство TIntegerDomain.MaxValue (Максимальное значение)
MaxValue: Integer (Целое) .

Для чтения и записи свойства используется поле TIntegerDomain.FMaxValue (Максимальное значение) .

4.84.5. Свойство TIntegerDomain.MinValue (Минимальное значение)
MinValue: Integer (Целое) .

Для чтения и записи свойства используется поле TIntegerDomain.FMinValue (Минимальное значение) .

4.85. Класс TMethod (Методы)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

4.85.1. Конструктор TMethod.Create (Конструктор метода)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
Body (Тело) | TMethodBody (Исходные тексты методов) |  | Доступен |

Конструирует объект класса TMethod (Методы) .

4.85.2. Поле TMethod.FBody (Тело)
FBody: TMethodBody (Исходные тексты методов) .

Используется для хранения значений свойства TMethod.Body (Тело)
.

4.85.3. Свойство TMethod.Body (Тело)
Body: TMethodBody (Исходные тексты методов) .

Для чтения и записи свойства используется поле TMethod.FBody (Тело) .

4.85.4. Свойство TMethod.CallTemplate (Шаблон вызова)
CallTemplate: TLongString (Длинная строка) . Вычисление свойства отложено.

Для чтения значения свойства используется функция TMethod.CallTemplate (Шаблон вызова) .

4.85.5. Функция TMethod.CallTemplate (Шаблон вызова)

Возвращает значение типа TLongString (Длинная строка) .

Используется для вычисления значений свойства TMethod.CallTemplate (Шаблон вызова)
.

4.86. Класс TObject (Объекты)

4.86.1. Конструктор TObject.Create (Конструктор объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) |  | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) |  | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) |  | Скрыт |

Конструирует объект класса TObject (Объекты) .

4.86.2. Поле TObject.FClass (Класс)
FClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Class (Класс)
TOption.DomainClass (Класс домена)
TField.DomainClass (Класс домена)
TInlineExpression.DomainClass (Класс домена)
TProperty.DomainClass (Класс домена)
TParameter.DomainClass (Класс домена)
.

4.86.3. Поле TObject.FCreated (Создано)
FCreated: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Created (Создано)
.

4.86.4. Поле TObject.FCreator (Создано пользователем)
FCreator: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Creator (Создано пользователем)
.

4.86.5. Поле TObject.FDescription (Наименование)
FDescription: TObjectDescription (Наименования) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Description (Наименование)
TFormAccess.Description (Наименование)
TVisualGroupAccess.Description (Наименование)
TBanGroupAccess.Description (Наименование)
.

4.86.6. Поле TObject.FMaster (Мастер)
FMaster: TMaster field domain (Домен поля "Мастер") .

Используется для хранения значений свойств:
TObject.Master (Мастер)
TParameter.RoutineClass (Класс подпрограммы)
TOptionValue.Option (Настройка)
TInstantMessage.Form (Форма)
.

4.86.7. Поле TObject.FModified (Изменено)
FModified: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Modified (Изменено)
.

4.86.8. Поле TObject.FModifier (Изменено пользователем)
FModifier: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Modifier (Изменено пользователем)
.

4.86.9. Поле TObject.FName (Имя)
FName: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Name (Имя)
TFormAccess.Name (Имя)
TVisualGroupAccess.Name (Имя)
TBanGroupAccess.Name (Имя)
.

4.86.10. Поле TObject.FOldID (Идентификатор при создании)
FOldID: TOldID (Идентификаторы при создании) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.OldID (Идентификатор при создании)
.

4.86.11. Поле TObject.FParent (Родитель)
FParent: TParent domain (Родитель объекта) .

Используется для хранения значений свойства TObject.Parent (Родитель)
.

4.86.12. Поле TObject.FReader (Роль для чтения)
FReader: TAccessor domain (Роли доступа) .

Используется для хранения значений свойства TObject.Reader (Роль для чтения)
.

4.86.13. Поле TObject.FSourceDataBase (База данных)
FSourceDataBase: TSourceDataBase required domain (База данных) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.SourceDataBase (База данных-источник)
.

4.86.14. Поле TObject.FWriter (Роль для записи)
FWriter: TAccessor domain (Роли доступа) .

Используется для хранения значений свойства TObject.Writer (Роль для записи)
.

4.86.15. Процедура TObject.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) |  | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) |  | Скрыт |

4.86.16. Процедура TObject.Destroy (Деструктор объекта)

4.86.17. Процедура TObject.MergeTo (Отождествить с)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
PrimaryObject (Первичный объект) | TMergedObject domain (Объект для отождествления) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
PrimaryObject (Первичный объект) | TMergedObject domain (Объект для отождествления) |  | Доступен |

4.86.18. Процедура TObject.SendMessage (Отправить сообщение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
MessageText (Текст сообщения) | TObjectDescription (Наименования) |  | Доступен |
Broadcast (Всем пользователям) | Boolean (Обычное логическое) |  | Доступен |
Addressee (Адресат) | TSecurityAccount domain (Роль безопасности) |  | Доступен |
AttachSelected (Присоединить выбранные объекты) | Boolean (Обычное логическое) |  | Доступен |
Selected (Список выбранных объектов) | TList domain (Список объектов) |  | Скрыт | CurrentlySelected (Список выбранных)
CurrentFormView (Текущее представление формы) | TFormView domain (Представления форм) |  | Скрыт | CurrentFormView (Текущее представление формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
MessageText (Текст сообщения) | TObjectDescription (Наименования) |  | Доступен |
Broadcast (Всем пользователям) | Boolean (Обычное логическое) |  | Доступен |
Addressee (Адресат) | TSecurityAccount domain (Роль безопасности) |  | Доступен |
AttachSelected (Присоединить выбранные объекты) | Boolean (Обычное логическое) |  | Доступен |
Selected (Список выбранных объектов) | TList domain (Список объектов) |  | Скрыт | CurrentlySelected (Список выбранных)
CurrentFormView (Текущее представление формы) | TFormView domain (Представления форм) |  | Скрыт | CurrentFormView (Текущее представление формы)

4.86.19. Процедура TObject.Touch (Модификация объекта)

4.86.20. Псевдоподпрограмма TObject.Column (Колонка)

4.86.21. Псевдоподпрограмма TObject.Copy (Копировать)

4.86.22. Псевдоподпрограмма TObject.CurrentFormView (Текущее представление формы)
Является методом класса.

Возвращает значение типа TFormView domain (Представления форм) .

Используется для инициализации значения параметра CurrentFormView (Текущее представление формы) подпрограммы TObject.SendMessage (Отправить сообщение)
.

4.86.23. Псевдоподпрограмма TObject.CurrentlySelected (Список выбранных)
Является методом класса.

Возвращает значение типа TList domain (Список объектов) .

Используется для инициализации значения параметра Selected (Список выбранных объектов) подпрограммы TObject.SendMessage (Отправить сообщение)
.

4.86.24. Псевдоподпрограмма TObject.CurrentlyVisible (Список видимых)
Является методом класса.

Возвращает значение типа TList domain (Список объектов) .

4.86.25. Псевдоподпрограмма TObject.Edit columns (Редактировать колонки)

4.86.26. Псевдоподпрограмма TObject.Edit properties (Редактировать свойства)

4.86.27. Псевдоподпрограмма TObject.Export (Экспортировать)

4.86.28. Псевдоподпрограмма TObject.Merge (Объединить)

4.86.29. Псевдоподпрограмма TObject.Messages (Сообщения)
Является методом класса.

4.86.30. Псевдоподпрограмма TObject.Options (Настройки)
Является методом класса.

4.86.31. Псевдоподпрограмма TObject.Paste (Вставить)

4.86.32. Псевдоподпрограмма TObject.Refresh (Обновить)

4.86.33. Псевдоподпрограмма TObject.Selection (Выбранные)

4.86.34. Псевдоподпрограмма TObject.Tree (Дерево)

4.86.35. Свойство TObject.Class (Класс)
Class: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

4.86.36. Свойство TObject.Created (Создано)
Created: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FCreated (Создано) .

4.86.37. Свойство TObject.Creator (Создано пользователем)
Creator: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FCreator (Создано пользователем) .

4.86.38. Свойство TObject.Description (Наименование)
Description: TObjectDescription (Наименования) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TObject.FDescription (Наименование) .

4.86.39. Свойство TObject.Master (Мастер)
Master: TMaster domain (Объект (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

4.86.40. Свойство TObject.Modified (Изменено)
Modified: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FModified (Изменено) .

4.86.41. Свойство TObject.Modifier (Изменено пользователем)
Modifier: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FModifier (Изменено пользователем) .

4.86.42. Свойство TObject.Name (Имя)
Name: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TObject.FName (Имя) .

4.86.43. Свойство TObject.OldID (Идентификатор при создании)
OldID: TOldID (Идентификаторы при создании) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FOldID (Идентификатор при создании) .

4.86.44. Свойство TObject.Parent (Родитель)
Parent: TParent domain (Родитель объекта) .

Для чтения и записи свойства используется поле TObject.FParent (Родитель) .

4.86.45. Свойство TObject.Reader (Роль для чтения)
Reader: TAccessor domain (Роли доступа) .

Для чтения и записи свойства используется поле TObject.FReader (Роль для чтения) .

4.86.46. Свойство TObject.ReplicationStatus (Статус репликации)
ReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

Дочернее свойство свойства Class (Класс) .

4.86.47. Свойство TObject.SourceDataBase (База данных-источник)
SourceDataBase: TSourceDataBase required domain (База данных) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FSourceDataBase (База данных) .

4.86.48. Свойство TObject.SourceDataBaseGUID (GUID базы даных-источника)
SourceDataBaseGUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FGUID (Идентификатор) .

Дочернее свойство свойства SourceDataBase (База данных-источник) .

4.86.49. Свойство TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
SourceDataBaseIsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FIsCurrent (Является текущей) .

Дочернее свойство свойства SourceDataBase (База данных-источник) .

4.86.50. Свойство TObject.Writer (Роль для записи)
Writer: TAccessor domain (Роли доступа) .

Для чтения и записи свойства используется поле TObject.FWriter (Роль для записи) .

4.86.51. Функция TObject.ASCII (ASCII-код)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Char (Символ) |  | Скрыт |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Char (Символ) |  | Скрыт |

4.86.52. Функция TObject.Assigned (Проверка пустоты значения)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TObject domain (Объект) |  | Доступен |

4.86.53. Функция TObject.Char (Символ)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

Возвращает значение типа Char (Символ) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

4.86.54. Функция TObject.Copy (Копировать)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |
StartPos (Позиция) | Integer (Целое) |  | Доступен |
Length (Длина) | Integer (Целое) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |
StartPos (Позиция) | Integer (Целое) |  | Доступен |
Length (Длина) | Integer (Целое) |  | Доступен |

4.86.55. Функция TObject.DatePart (Часть даты)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

4.86.56. Функция TObject.DateTimePart (Часть даты со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp (Момент) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp (Момент) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

4.86.57. Функция TObject.DateTimeToStr (Дату и время в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp required (Момент (обязательный)) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp required (Момент (обязательный)) |  | Доступен |

4.86.58. Функция TObject.DateToStr (Дату в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |

4.86.59. Функция TObject.DependsOn (Зависит от)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
LeadingObject (Ведущий объект) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
LeadingObject (Ведущий объект) | TObject domain (Объект) |  | Доступен |

4.86.60. Функция TObject.Find (Поиск объекта)

4.86.61. Функция TObject.FloatToStr (Вещественное в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |

4.86.62. Функция TObject.GetLevel (Уровень в иерархии)

Возвращает значение типа TLength (Длина) .

4.86.63. Функция TObject.GetRoot (Получить корень иерархии)

Возвращает значение типа TObject domain (Объект) .

4.86.64. Функция TObject.HasAsChild (Объект является ребенком данного)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Child (Дочерний объект) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Child (Дочерний объект) | TObject domain (Объект) |  | Доступен |

4.86.65. Функция TObject.HasAsParent (Объект является родителем данного)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

4.86.66. Функция TObject.IfThenDate (Выбор из двух дат)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TDate (Дата) |  | Доступен |
AFalse (Значение при невыполнении условия) | TDate (Дата) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TDate (Дата) |  | Доступен |
AFalse (Значение при невыполнении условия) | TDate (Дата) |  | Доступен |

4.86.67. Функция TObject.IfThenDateTime (Выбор из двух дат со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TimeStamp (Момент) |  | Доступен |
AFalse (Значение при невыполнении условия) | TimeStamp (Момент) |  | Доступен |

Возвращает значение типа TimeStamp (Момент) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TimeStamp (Момент) |  | Доступен |
AFalse (Значение при невыполнении условия) | TimeStamp (Момент) |  | Доступен |

4.86.68. Функция TObject.IfThenFloat (Выбор из двух вещественных)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Float (Вещественное) |  | Доступен |
AFalse (Значение при невыполнении условия) | Float (Вещественное) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Float (Вещественное) |  | Доступен |
AFalse (Значение при невыполнении условия) | Float (Вещественное) |  | Доступен |

4.86.69. Функция TObject.IfThenInt (Выбор из двух целых)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Integer (Целое) |  | Доступен |
AFalse (Значение при невыполнении условия) | Integer (Целое) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Integer (Целое) |  | Доступен |
AFalse (Значение при невыполнении условия) | Integer (Целое) |  | Доступен |

4.86.70. Функция TObject.IfThenObject (Выбор из двух объектов)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TObject domain (Объект) |  | Доступен |
AFalse (Значение при невыполнении условия) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TObject domain (Объект) |  | Доступен |
AFalse (Значение при невыполнении условия) | TObject domain (Объект) |  | Доступен |

4.86.71. Функция TObject.IfThenStr (Выбор из двух строк)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TLongString (Длинная строка) |  | Доступен |
AFalse (Значение при невыполнении условия) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TLongString (Длинная строка) |  | Доступен |
AFalse (Значение при невыполнении условия) | TLongString (Длинная строка) |  | Доступен |

4.86.72. Функция TObject.IfThenTime (Выбор из двух времен)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TTime (Время) |  | Доступен |
AFalse (Значение при невыполнении условия) | TTime (Время) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TTime (Время) |  | Доступен |
AFalse (Значение при невыполнении условия) | TTime (Время) |  | Доступен |

4.86.73. Функция TObject.IntToStr (Целое в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

4.86.74. Функция TObject.IsInstanceOf (Является экземпляром класса)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Class (Класс) | TClass domain (Класс) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Class (Класс) | TClass domain (Класс) |  | Доступен |

4.86.75. Функция TObject.Round (Округление)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |
Decimals (Клоичество десятичных знаков) | Integer (Целое) |  | Скрыт |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |
Decimals (Клоичество десятичных знаков) | Integer (Целое) |  | Скрыт |

4.86.76. Функция TObject.StrLength (Длина строки)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |

4.86.77. Функция TObject.StrToDate (Строку в дату)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

4.86.78. Функция TObject.StrToDateTime (Строку в дату и время)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TimeStamp required (Момент (обязательный)) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

4.86.79. Функция TObject.StrToFloat (Строку в вещественное)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

4.86.80. Функция TObject.StrToInt (Строку в целое)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

4.86.81. Функция TObject.StrToTime (Строку во время)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

4.86.82. Функция TObject.TimePart (Часть времени)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

4.86.83. Функция TObject.TimeToStr (Время в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Скрыт |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Скрыт |

4.86.84. Функция TObject.Trunc (Отсечение дробной части)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Доступен |

4.86.85. Функция TObject.UniqueValue (Уникальный идентификатор)
Является методом класса.

Возвращает значение типа TObjectName (Имена) .

4.86.86. Шаблон отчета Excel TObject.Excel (Пустой шаблон Excel)
Является методом класса.

4.86.87. Шаблон отчета XSLT TObject.ObjectInformation (Информация об объекте)

4.87. Класс TObjectList (Списки)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TObjectListItem (Элементы списков)

4.87.1. Конструктор TObjectList.Create (Конструктор списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TObjectList (Списки) .

4.87.2. Процедура TObjectList.Add (Добавить объект в список)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

4.87.3. Процедура TObjectList.Clear (Очистить список)

4.87.4. Процедура TObjectList.Delete (Удалить объект)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

4.87.5. Процедура TObjectList.Force (Добавить, игнорируя ограничения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

4.87.6. Процедура TObjectList.SetItem (Установить объект в списке)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

4.87.7. Функция TObjectList.ByName (Поиск по имени)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен |

4.87.8. Функция TObjectList.GetItem (Получить объект из списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |

4.87.9. Функция TObjectList.IndexOf (Индек объекта в списке)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

4.87.10. Функция TObjectList.Length (Длина списка)

Возвращает значение типа Integer (Целое) .

4.88. Класс TObjectListItem (Элементы списков)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TObjectList (Списки) .

4.88.1. Конструктор TObjectListItem.Create (Конструктор элемента списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TObjectListItem (Элементы списков) .

4.88.2. Поле TObjectListItem.FObject (Объект)
FObject: TObject domain (Объект) .

4.88.3. Поле TObjectListItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

4.89. Класс TOleObjectMethod (Метод Ole-объекта)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

4.89.1. Конструктор TOleObjectMethod.Create (Конструктор метода Ole-объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
CodeLibrary (Библиотека кода) | TCodeLibrary domain (Библиотека кода) |  | Доступен |
ClassID (Идентификатор класса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |
Method (Метод) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TOleObjectMethod (Метод Ole-объекта) .

4.89.2. Поле TOleObjectMethod.FClassID (Идентификатор класса)
FClassID: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TOleObjectMethod.ClassID (Идентификатор класса)
.

4.89.3. Поле TOleObjectMethod.FCodeLibrary (Библиотека кода)
FCodeLibrary: TCodeLibrary domain (Библиотека кода) .

Используется для хранения значений свойства TOleObjectMethod.CodeLibrary (Библиотека кода)
.

4.89.4. Поле TOleObjectMethod.FMethod (Имя метода)
FMethod: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TOleObjectMethod.Method (Метод)
.

4.89.5. Свойство TOleObjectMethod.ClassID (Идентификатор класса)
ClassID: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TOleObjectMethod.FClassID (Идентификатор класса) .

4.89.6. Свойство TOleObjectMethod.CodeLibrary (Библиотека кода)
CodeLibrary: TCodeLibrary domain (Библиотека кода) .

Для чтения и записи свойства используется поле TOleObjectMethod.FCodeLibrary (Библиотека кода) .

4.89.7. Свойство TOleObjectMethod.Method (Метод)
Method: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TOleObjectMethod.FMethod (Имя метода) .

4.90. Класс TOption (Настройки)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TOptionValue (Значения настроек)

4.90.1. Конструктор TOption.Create (Конструктор настройки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
Global (Глобальная) | Boolean (Обычное логическое) |  | Доступен |
Group (Заголовок группы) | TCaption (Заголовки) |  | Доступен |
Tab (Заголовок закладки) | TCaption (Заголовки) |  | Доступен |
Position (Позиция) | Integer (Целое) |  | Доступен | GetNextPos (Следующая позиция)

Конструирует объект класса TOption (Настройки) .

4.90.2. Поле TOption.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TOption.Domain (Домен)
TOptionValue.Domain (Домен)
.

4.90.3. Поле TOption.FGlobal (Глобальная)
FGlobal: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TOption.Global (Глобальная)
TOptionValue.Global (Глобальная)
.

4.90.4. Поле TOption.FGroup (Заголовок группы)
FGroup: TCaption (Заголовки) .

Используется для хранения значений свойства TOption.Group (Заголовок группы)
.

4.90.5. Поле TOption.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TOption.Position (Позиция)
.

4.90.6. Поле TOption.FTab (Заголовок закладки)
FTab: TCaption (Заголовки) .

Используется для хранения значений свойства TOption.Tab (Заголовок закладки)
.

4.90.7. Процедура TOption.SetValue (Установка значения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

4.90.8. Свойство TOption.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FDomain (Домен) .

4.90.9. Свойство TOption.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

4.90.10. Свойство TOption.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

4.90.11. Свойство TOption.Global (Глобальная)
Global: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FGlobal (Глобальная) .

4.90.12. Свойство TOption.Group (Заголовок группы)
Group: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TOption.FGroup (Заголовок группы) .

4.90.13. Свойство TOption.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FPosition (Позиция) .

4.90.14. Свойство TOption.Tab (Заголовок закладки)
Tab: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TOption.FTab (Заголовок закладки) .

4.90.15. Свойство TOption.User (Пользователь)
User: TUser domain (Пользователь) .

Для чтения и записи свойства используется поле TOptionValue.FUser (Пользователь) .

Дочернее свойство свойства Value (Значение) .

4.90.16. Свойство TOption.Value (Значение)
Value: TOptionValue domain (Значение настройки) . Вычисление свойства отложено.

Для чтения значения свойства используется функция TOption.GetValue (Значение) .

4.90.17. Свойство TOption.VisibleValue (Видимое значение)
VisibleValue: TLongString (Длинная строка) .

Для чтения значения свойства используется функция TOptionValue.GetVisibleValue (Видимое значение) .

Дочернее свойство свойства Value (Значение) .

4.90.18. Функция TOption.AreValid (Настройки действительны)
Является методом класса.

Возвращает значение типа Boolean (Обычное логическое) .

4.90.19. Функция TOption.GetBlobValue (Значение-большой объект)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TBinaryData (Двоичные данные) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

4.90.20. Функция TOption.GetBoolValue (Логическое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

4.90.21. Функция TOption.GetDateTimeValue (Значение даты со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TimeStamp (Момент) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

4.90.22. Функция TOption.GetDateValue (Значение даты)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

4.90.23. Функция TOption.GetFloatValue (Вещественное значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

4.90.24. Функция TOption.GetIntValue (Целое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

4.90.25. Функция TOption.GetNextPos (Следующая позиция)
Является методом класса.

Возвращает значение типа Integer (Целое) .

Используется для инициализации значения параметра Position (Позиция) подпрограммы TOption.Create (Конструктор настройки)
.

4.90.26. Функция TOption.GetObjectValue (Значение-объект)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

4.90.27. Функция TOption.GetStrValue (Строковое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

4.90.28. Функция TOption.GetTimeValue (Значение времени)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

4.90.29. Функция TOption.GetValue (Значение)

Возвращает значение типа TOptionValue domain (Значение настройки) .

Используется для вычисления значений свойства TOption.Value (Значение)
.

4.91. Класс TOptionValue (Значения настроек)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TOption (Настройки) .

4.91.1. Конструктор TOptionValue.Create (Конструктор значения настройки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
User (Пользователь) | TUser domain (Пользователь) |  | Доступен |
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TOptionValue (Значения настроек) .

4.91.2. Поле TOptionValue.FBlobValue (Значение-большой объект)
FBlobValue: TBinaryData (Двоичные данные) .

Используется для хранения значений свойства TOptionValue.BlobValue (Значение-большой объект)
.

4.91.3. Поле TOptionValue.FBoolValue (Логическое значение)
FBoolValue: Non-required boolean (Необязательное логическое) .

Используется для хранения значений свойства TOptionValue.BoolValue (Логическое значение)
.

4.91.4. Поле TOptionValue.FDateTimeValue (Значение даты со временем)
FDateTimeValue: TimeStamp (Момент) .

Используется для хранения значений свойства TOptionValue.DateTimeValue (Значение даты со временем)
.

4.91.5. Поле TOptionValue.FDateValue (Значение даты)
FDateValue: TDate (Дата) .

Используется для хранения значений свойства TOptionValue.DateValue (Значение даты)
.

4.91.6. Поле TOptionValue.FFloatValue (Вещественное значение)
FFloatValue: Float (Вещественное) .

Используется для хранения значений свойства TOptionValue.FloatValue (Вещественное значение)
.

4.91.7. Поле TOptionValue.FIntValue (Целое значение)
FIntValue: Integer (Целое) .

Используется для хранения значений свойства TOptionValue.IntValue (Целое значение)
.

4.91.8. Поле TOptionValue.FObjectValue (Значение-объект)
FObjectValue: TObject domain (Объект) .

Используется для хранения значений свойства TOptionValue.ObjectValue (Значение-объект)
.

4.91.9. Поле TOptionValue.FStrValue (Строковое значение)
FStrValue: TLongString (Длинная строка) .

Используется для хранения значений свойства TOptionValue.StrValue (Строковое значение)
.

4.91.10. Поле TOptionValue.FTimeValue (Значение времени)
FTimeValue: TTime (Время) .

Используется для хранения значений свойства TOptionValue.TimeValue (Значение времени)
.

4.91.11. Поле TOptionValue.FUser (Пользователь)
FUser: TUser domain (Пользователь) .

Используется для хранения значений свойств:
TOptionValue.User (Пользователь)
TOption.User (Пользователь)
.

4.91.12. Свойство TOptionValue.BlobValue (Значение-большой объект)
BlobValue: TBinaryData (Двоичные данные) .

Для чтения и записи свойства используется поле TOptionValue.FBlobValue (Значение-большой объект) .

4.91.13. Свойство TOptionValue.BoolValue (Логическое значение)
BoolValue: Non-required boolean (Необязательное логическое) .

Для чтения и записи свойства используется поле TOptionValue.FBoolValue (Логическое значение) .

4.91.14. Свойство TOptionValue.DateTimeValue (Значение даты со временем)
DateTimeValue: TimeStamp (Момент) .

Для чтения и записи свойства используется поле TOptionValue.FDateTimeValue (Значение даты со временем) .

4.91.15. Свойство TOptionValue.DateValue (Значение даты)
DateValue: TDate (Дата) .

Для чтения и записи свойства используется поле TOptionValue.FDateValue (Значение даты) .

4.91.16. Свойство TOptionValue.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FDomain (Домен) .

Дочернее свойство свойства Option (Настройка) .

4.91.17. Свойство TOptionValue.FloatValue (Вещественное значение)
FloatValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TOptionValue.FFloatValue (Вещественное значение) .

4.91.18. Свойство TOptionValue.Global (Глобальная)
Global: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FGlobal (Глобальная) .

Дочернее свойство свойства Option (Настройка) .

4.91.19. Свойство TOptionValue.IntValue (Целое значение)
IntValue: Integer (Целое) .

Для чтения и записи свойства используется поле TOptionValue.FIntValue (Целое значение) .

4.91.20. Свойство TOptionValue.IsCurrent (Является текущим)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

Дочернее свойство свойства User (Пользователь) .

4.91.21. Свойство TOptionValue.ObjectValue (Значение-объект)
ObjectValue: TObject domain (Объект) .

Для чтения и записи свойства используется поле TOptionValue.FObjectValue (Значение-объект) .

4.91.22. Свойство TOptionValue.Option (Настройка)
Option: TOption required domain (Настройка (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

4.91.23. Свойство TOptionValue.StrValue (Строковое значение)
StrValue: TLongString (Длинная строка) .

Для чтения и записи свойства используется поле TOptionValue.FStrValue (Строковое значение) .

4.91.24. Свойство TOptionValue.TimeValue (Значение времени)
TimeValue: TTime (Время) .

Для чтения и записи свойства используется поле TOptionValue.FTimeValue (Значение времени) .

4.91.25. Свойство TOptionValue.User (Пользователь)
User: TUser domain (Пользователь) .

Для чтения и записи свойства используется поле TOptionValue.FUser (Пользователь) .

4.91.26. Свойство TOptionValue.VisibleValue (Видимое значение)
VisibleValue: TLongString (Длинная строка) .

Для чтения значения свойства используется функция TOptionValue.GetVisibleValue (Видимое значение) .

4.91.27. Функция TOptionValue.GetVisibleValue (Видимое значение)

Возвращает значение типа TLongString (Длинная строка) .

Используется для вычисления значений свойств:
TOptionValue.VisibleValue (Видимое значение)
TOption.VisibleValue (Видимое значение)
.

4.92. Класс TParameter (Параметры)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TRoutine (Подпрограмма) .

4.92.1. Конструктор TParameter.Create (Конструктор параметра)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Group (Заголовок группы) | TCaption (Заголовки) |  | Доступен |
Tab (Заголовок закладки) | TCaption (Заголовки) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
InitializationMember (Инициализируется членом класса) | TInitializationMember domain (Член класса для инициализации) |  | Доступен |

Конструирует объект класса TParameter (Параметры) .

4.92.2. Поле TParameter.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Domain (Домен)
.

4.92.3. Поле TParameter.FGroup (Заголовок группы)
FGroup: TCaption (Заголовки) .

Используется для хранения значений свойства TParameter.Group (Заголовок группы)
.

4.92.4. Поле TParameter.FInitializationMember (Инициализируется членом)
FInitializationMember: TInitializationMember domain (Член класса для инициализации) .

Используется для хранения значений свойства TParameter.InitializationMember (Инициализируется членом класса)
.

4.92.5. Поле TParameter.FOutOfTabs (За пределами закладок)

4.92.6. Поле TParameter.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Position (Позиция)
.

4.92.7. Поле TParameter.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Scope (Область видимости)
.

4.92.8. Поле TParameter.FTab (Заголовок закладки)
FTab: TCaption (Заголовки) .

Используется для хранения значений свойства TParameter.Tab (Заголовок закладки)
.

4.92.9. Свойство TParameter.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FDomain (Домен) .

4.92.10. Свойство TParameter.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

4.92.11. Свойство TParameter.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

4.92.12. Свойство TParameter.Group (Заголовок группы)
Group: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TParameter.FGroup (Заголовок группы) .

4.92.13. Свойство TParameter.InitializationMember (Инициализируется членом класса)
InitializationMember: TInitializationMember domain (Член класса для инициализации) .

Для чтения и записи свойства используется поле TParameter.FInitializationMember (Инициализируется членом) .

4.92.14. Свойство TParameter.OutOfTabs (За пределами закладок)

4.92.15. Свойство TParameter.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FPosition (Позиция) .

4.92.16. Свойство TParameter.RoutineClass (Класс подпрограммы)
RoutineClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

Дочернее свойство свойства Master (Мастер) .

4.92.17. Свойство TParameter.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FScope (Область видимости) .

4.92.18. Свойство TParameter.Tab (Заголовок закладки)
Tab: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TParameter.FTab (Заголовок закладки) .

4.92.19. Функция TParameter.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TParameter.Create (Конструктор параметра)
.

4.93. Класс TProperty (Свойства)
Унаследован от класса TClassMember (Члены класса) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TClass (Классы) .

4.93.1. Конструктор TProperty.Create (Конструктор свойства)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
ReadMember (Член класса для чтения) | TReadMember domain (Член класса для чтения) |  | Доступен |
WriteMember (Член класса для записи) | TWriteMember domain (Член класса для записи) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
IsExportable (Для экспорта) | Boolean (Обычное логическое) |  | Доступен |
Category (Категория) | TCaption (Заголовки) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
IsSuspended (Отложенное) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TProperty (Свойства) .

4.93.2. Поле TProperty.FCategory (Категория)
FCategory: TCaption (Заголовки) .

Используется для хранения значений свойства TProperty.Category (Категория)
.

4.93.3. Поле TProperty.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Domain (Домен)
.

4.93.4. Поле TProperty.FIsExportable (Эскпортируется)
FIsExportable: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.IsExportable (Для экспорта)
.

4.93.5. Поле TProperty.FIsSuspended (Отложенное)
FIsSuspended: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.IsSuspended (Отложенное)
.

4.93.6. Поле TProperty.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Position (Позиция)
.

4.93.7. Поле TProperty.FReadMember (Член класса для чтения)
FReadMember: TReadMember domain (Член класса для чтения) .

Используется для хранения значений свойства TProperty.ReadMember (Член класса для чтения)
.

4.93.8. Поле TProperty.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Scope (Область видимости)
.

4.93.9. Поле TProperty.FWriteMember (Член класса для записи)
FWriteMember: TWriteMember domain (Член класса для записи) .

Используется для хранения значений свойства TProperty.WriteMember (Член класса для записи)
.

4.93.10. Процедура TProperty.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

4.93.11. Процедура TProperty.CreateChildren (Создать дочерние свойства)

4.93.12. Свойство TProperty.Category (Категория)
Category: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TProperty.FCategory (Категория) .

4.93.13. Свойство TProperty.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FDomain (Домен) .

4.93.14. Свойство TProperty.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

4.93.15. Свойство TProperty.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

4.93.16. Свойство TProperty.IsExportable (Для экспорта)
IsExportable: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FIsExportable (Эскпортируется) .

4.93.17. Свойство TProperty.IsSuspended (Отложенное)
IsSuspended: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FIsSuspended (Отложенное) .

4.93.18. Свойство TProperty.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FPosition (Позиция) .

4.93.19. Свойство TProperty.ReadMember (Член класса для чтения)
ReadMember: TReadMember domain (Член класса для чтения) .

Для чтения и записи свойства используется поле TProperty.FReadMember (Член класса для чтения) .

4.93.20. Свойство TProperty.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FScope (Область видимости) .

4.93.21. Свойство TProperty.WriteMember (Член класса для записи)
WriteMember: TWriteMember domain (Член класса для записи) .

Для чтения и записи свойства используется поле TProperty.FWriteMember (Член класса для записи) .

4.93.22. Функция TProperty.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Используется для инициализации значения параметра Position (Позиция) подпрограммы TProperty.Create (Конструктор свойства)
.

4.94. Класс TPropertyBan (Запрет на свойство)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

4.94.1. Конструктор TPropertyBan.Create (Конструктор запрета на свойство)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |
BannedProperty (Запрещаемое свойство) | TBannedProperty domain (Свойство для запрета) |  | Доступен |
AllowRead (Чтение разрешено) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TPropertyBan (Запрет на свойство) .

4.94.2. Поле TPropertyBan.FAllowRead (Чтение разрешено)
FAllowRead: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.AllowRead (Чтение разрешено)
.

4.94.3. Поле TPropertyBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.BannedClass (Запрещаемый класс)
.

4.94.4. Поле TPropertyBan.FBannedProperty (Запрещенное свойство)
FBannedProperty: TBannedProperty domain (Свойство для запрета) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.BannedProperty (Запрещаемое свойство)
.

4.94.5. Свойство TPropertyBan.AllowRead (Чтение разрешено)
AllowRead: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TPropertyBan.FAllowRead (Чтение разрешено) .

4.94.6. Свойство TPropertyBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TPropertyBan.FBannedClass (Запрещенный класс) .

4.94.7. Свойство TPropertyBan.BannedProperty (Запрещаемое свойство)
BannedProperty: TBannedProperty domain (Свойство для запрета) (обязательно для заполнения) .

Для чтения значения свойства используется поле TPropertyBan.FBannedProperty (Запрещенное свойство) .

4.95. Класс TRole (Роли)
Унаследован от класса TSecurityAccount (Роли безопасности) . Объекты могут включать в себя объекты классов:
  • TRoleMember (Пользователи в ролях)

4.95.1. Конструктор TRole.Create (Конструктор роли)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TRole (Роли) .

4.95.2. Свойство TRole.IsCurrent (Является текущей)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TRole.GetIsCurrent (Является текущей) .

4.95.3. Функция TRole.GetIsCurrent (Является текущей)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TRole.IsCurrent (Является текущей)
.

4.96. Класс TRoleMember (Пользователи в ролях)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TRole (Роли) .

4.96.1. Конструктор TRoleMember.Create (Конструктор члена роли)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Роль) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
User (Пользователь) | TUser required domain (Пользователь) |  | Доступен | User (Пользователь)
IsPrimary (Основная роль) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TRoleMember (Пользователи в ролях) .

4.96.2. Поле TRoleMember.FIsPrimary (Основная роль)
FIsPrimary: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoleMember.IsPrimary (Основная роль)
.

4.96.3. Поле TRoleMember.FUser (Пользователь)
FUser: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TRoleMember.User (Пользователь)
.

4.96.4. Процедура TRoleMember.SetIsPrimary (Установка значения свойства "Является основной")

4.96.5. Свойство TRoleMember.IsPrimary (Основная роль)
IsPrimary: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoleMember.FIsPrimary (Основная роль) .

4.96.6. Свойство TRoleMember.User (Пользователь)
User: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoleMember.FUser (Пользователь) .

4.96.7. Свойство TRoleMember.UserClass (Класс члена роли)

4.97. Класс TRoutine (Подпрограмма)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) . Объекты могут включать в себя объекты классов:
  • TParameter (Параметры)

4.97.1. Конструктор TRoutine.Create (Конструктор подпрограммы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) |  | Доступен |
Domain (Домен результата) | TDomain domain (Домен) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) |  | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) |  | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) |  | Доступен |
Image (Изображение-иконка) | TImage (Изображение) |  | Доступен |

Конструирует объект класса TRoutine (Подпрограмма) .

4.97.2. Поле TRoutine.FConfirmation (Текст подтверждения)
FConfirmation: TCaption (Заголовки) .

Используется для хранения значений свойства TRoutine.Confirmation (Текст подтверждения)
.

4.97.3. Поле TRoutine.FDomain (Домен результата)
FDomain: TDomain domain (Домен) .

Используется для хранения значений свойства TRoutine.Domain (Домен результата)
.

4.97.4. Поле TRoutine.FImage (Изображеие-иконка)
FImage: TImage (Изображение) .

Используется для хранения значений свойства TRoutine.Image (Изображение-иконка)
.

4.97.5. Поле TRoutine.FIsClassMethod (Является методом класса)
FIsClassMethod: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.IsClassMethod (Является методом класса)
.

4.97.6. Поле TRoutine.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.Scope (Область видимости)
.

4.97.7. Поле TRoutine.FScript (Скрипт формы)
FScript: TRoutineScript (Скрипты форм параметров) .

Используется для хранения значений свойства TRoutine.Script (Скрипт формы параметров)
.

4.97.8. Поле TRoutine.FUseTabs (Использовать закладки)
FUseTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.UseTabs (Использовать закладки)
.

4.97.9. Свойство TRoutine.Confirmation (Текст подтверждения)
Confirmation: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TRoutine.FConfirmation (Текст подтверждения) .

4.97.10. Свойство TRoutine.Domain (Домен результата)
Domain: TDomain domain (Домен) .

Для чтения и записи свойства используется поле TRoutine.FDomain (Домен результата) .

4.97.11. Свойство TRoutine.Image (Изображение-иконка)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TRoutine.FImage (Изображеие-иконка) .

4.97.12. Свойство TRoutine.IsClassMethod (Является методом класса)
IsClassMethod: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FIsClassMethod (Является методом класса) .

4.97.13. Свойство TRoutine.ParamCount (Количество параметров)
ParamCount: Integer (Целое) .

Для чтения значения свойства используется функция TRoutine.GetParamCount (Количество параметров) .

4.97.14. Свойство TRoutine.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FScope (Область видимости) .

4.97.15. Свойство TRoutine.Script (Скрипт формы параметров)
Script: TRoutineScript (Скрипты форм параметров) .

Для чтения и записи свойства используется поле TRoutine.FScript (Скрипт формы) .

4.97.16. Свойство TRoutine.UseTabs (Использовать закладки)
UseTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FUseTabs (Использовать закладки) .

4.97.17. Функция TRoutine.GetParamCount (Количество параметров)

Возвращает значение типа Integer (Целое) .

Используется для вычисления значений свойства TRoutine.ParamCount (Количество параметров)
.

4.98. Класс TRoutineAction (Программируемое действие)
Унаследован от класса TAction (Действия) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

4.98.1. Конструктор TRoutineAction.Create (Конструктор программируемого действия)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) | Унаследован | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) | Унаследован | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) | Унаследован | Доступен |
Routine (Реализовано посредством ) | TActionRoutine required domain (Метод действия) |  | Доступен |

Конструирует объект класса TRoutineAction (Программируемое действие) .

4.98.2. Поле TRoutineAction.FRoutine (Подпрограмма)
FRoutine: TActionRoutine required domain (Метод действия) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineAction.Routine (Подпрограмма)
.

4.98.3. Свойство TRoutineAction.Routine (Подпрограмма)
Routine: TActionRoutine required domain (Метод действия) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutineAction.FRoutine (Подпрограмма) .

4.99. Класс TRoutineBan (Запрет на подпрограмму)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

4.99.1. Конструктор TRoutineBan.Create (Конструктор запрета на подпрограмму)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |
BannedRoutine (Запрещаемая подпрограмма) | TBannedRoutine domain (Подпрограмма для запрета) |  | Доступен |

Конструирует объект класса TRoutineBan (Запрет на подпрограмму) .

4.99.2. Поле TRoutineBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineBan.BannedClass (Запрещаемый класс)
.

4.99.3. Поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма)
FBannedRoutine: TBannedRoutine domain (Подпрограмма для запрета) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)
.

4.99.4. Свойство TRoutineBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TRoutineBan.FBannedClass (Запрещенный класс) .

4.99.5. Свойство TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)
BannedRoutine: TBannedRoutine domain (Подпрограмма для запрета) (обязательно для заполнения) .

Для чтения значения свойства используется поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма) .

4.100. Класс TSecurityAccount (Роли безопасности)
Унаследован от класса TObject (Объекты) .

4.101. Класс TStringDomain (Строковые)
Унаследован от класса TDomain (Домены) .

4.101.1. Конструктор TStringDomain.Create (Конструктор строкового домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) |  | Доступен |

Конструирует объект класса TStringDomain (Строковые) .

4.101.2. Поле TStringDomain.FLength (Максимальная длина)
FLength: TLength (Длина) (обязательно для заполнения) .

Используется для хранения значений свойства TStringDomain.Length (Длина)
.

4.101.3. Свойство TStringDomain.Length (Длина)
Length: TLength (Длина) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TStringDomain.FLength (Максимальная длина) .

4.102. Класс TTimeDomain (Время)
Унаследован от класса TDomain (Домены) .

4.102.1. Конструктор TTimeDomain.Create (Конструктор домена времени)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TTimeDomain (Время) .

4.103. Класс TUser (Пользователи)
Унаследован от класса TSecurityAccount (Роли безопасности) .

4.103.1. Конструктор TUser.Create (Конструктор пользователя)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TUser (Пользователи) .

4.103.2. Поле TUser.FAccessMode (Режим доступа)

4.103.3. Свойство TUser.AccessMode (Режим доступа)

4.103.4. Свойство TUser.IsCurrent (Является текущим)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

4.103.5. Функция TUser.GetIsCurrent (Является текущим)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойств:
TUser.IsCurrent (Является текущим)
TOptionValue.IsCurrent (Является текущим)
TInstantMessage.IsCurrent (Текущему пользователю)
.

4.104. Класс TView (Представления)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TAction (Действия)
  • TViewColumn (Колонки представлений)
  • TRoutineAction (Программируемое действие)
  • TViewAction (Действие-представление)

4.104.1. Конструктор TView.Create (Конструктор представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
ShownClass (Класс) | TClass required domain (Класс (обязательно)) |  | Доступен |
ColorProperty (Свойство цвета) | TColorProperty domain (Домен свойства цвета) |  | Доступен |
Collapsed (Свернуто) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TView (Представления) .

4.104.2. Поле TView.FCollapsed (Свернуто)
FCollapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TView.Collapsed (Свернуть)
TFormView.Collapsed (Узлы свернуты)
.

4.104.3. Поле TView.FColorProperty (Свойство цвета)
FColorProperty: TColorProperty domain (Домен свойства цвета) .

Используется для хранения значений свойств:
TView.ColorProperty (Свойство цвета)
TFormView.ColorProperty (Свойство-цвет)
.

4.104.4. Поле TView.FShownClass (Класс для показа)
FShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TView.ShownClass (Класс)
TFormView.ShownClass (Показываемый класс)
TViewAction.ShownClass (Показываемый класс)
.

4.104.5. Процедура TView.BuildDefaultActions (Создать действия по умолчанию)

4.104.6. Процедура TView.BuildDefaultColumns (Создать колонки по умолчанию)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ParentProperty (Родительское свойство) | TColumnProperty domain (Свойство колонки) |  | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ParentProperty (Родительское свойство) | TColumnProperty domain (Свойство колонки) |  | Скрыт |

4.104.7. Свойство TView.Collapsed (Свернуть)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FCollapsed (Свернуто) .

4.104.8. Свойство TView.ColorProperty (Свойство цвета)
ColorProperty: TColorProperty domain (Домен свойства цвета) .

Для чтения и записи свойства используется поле TView.FColorProperty (Свойство цвета) .

4.104.9. Свойство TView.ShownClass (Класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FShownClass (Класс для показа) .

4.104.10. Свойство TView.ShownClassMasterClass (Класс-мастер показываемого)
ShownClassMasterClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TClass.FMasterClass (Класс-мастер) .

Дочернее свойство свойства ShownClass (Класс) .

4.104.11. Свойство TView.ShownClassReplicationStatus (Статус репликации класса)
ShownClassReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

Дочернее свойство свойства ShownClass (Класс) .

4.105. Класс TViewAction (Действие-представление)
Унаследован от класса TAction (Действия) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

4.105.1. Конструктор TViewAction.Create (Конструктор действия-представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) | Унаследован | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) | Унаследован | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) | Унаследован | Доступен |
View (Представление) | TView of FormView domain (Представление для формы) |  | Доступен |
MasterProperty (Свойство-главное) | TMasterProperty domain (Свойство-главное) |  | Доступен |
DetailProperty (Свойство-подчиненное) | TDetailProperty domain (Свойство-подчиненное) |  | Доступен |

Конструирует объект класса TViewAction (Действие-представление) .

4.105.2. Поле TViewAction.FDetailProperty (Свойство-подчиненное)
FDetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Используется для хранения значений свойства TViewAction.DetailProperty (Свойство-подчиненное)
.

4.105.3. Поле TViewAction.FMasterProperty (Свойство-главное)
FMasterProperty: TMasterProperty domain (Свойство-главное) .

Используется для хранения значений свойства TViewAction.MasterProperty (Свойство-главное)
.

4.105.4. Поле TViewAction.FView (Представление)
FView: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Используется для хранения значений свойства TViewAction.View (Представление)
.

4.105.5. Свойство TViewAction.DetailProperty (Свойство-подчиненное)
DetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Для чтения и записи свойства используется поле TViewAction.FDetailProperty (Свойство-подчиненное) .

4.105.6. Свойство TViewAction.MasterProperty (Свойство-главное)
MasterProperty: TMasterProperty domain (Свойство-главное) .

Для чтения и записи свойства используется поле TViewAction.FMasterProperty (Свойство-главное) .

4.105.7. Свойство TViewAction.ShownClass (Показываемый класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TView.FShownClass (Класс для показа) .

Дочернее свойство свойства View (Представление) .

4.105.8. Свойство TViewAction.View (Представление)
View: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewAction.FView (Представление) .

4.106. Класс TViewColumn (Колонки представлений)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TView (Представления) .

4.106.1. Конструктор TViewColumn.Create (Конструктор колонки представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Property (Свойство) | TColumnProperty domain (Свойство колонки) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Grouped (Группировать) | Boolean (Обычное логическое) |  | Доступен |
Aggregate (Агрегат) | TAggregateKind (Тип агрегата) |  | Доступен |
SortDirection (Направление сортировки) | TSortDirection (Направление сортировки) |  | Доступен |
Fixed (Зафиксирована) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TViewColumn (Колонки представлений) .

4.106.2. Поле TViewColumn.FAggregate (Агрегат)
FAggregate: TAggregateKind (Тип агрегата) .

Используется для хранения значений свойства TViewColumn.Aggregate (Агрегат)
.

4.106.3. Поле TViewColumn.FFilter (Фильтр)
FFilter: TCaption (Заголовки) .

Используется для хранения значений свойства TViewColumn.Filter (Фильтр)
.

4.106.4. Поле TViewColumn.FFixed (Зафиксирована)
FFixed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Fixed (Зафиксирована)
.

4.106.5. Поле TViewColumn.FForceReadOnly (Только для чтения)
FForceReadOnly: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.ForceReadOnly (Только для чтения)
.

4.106.6. Поле TViewColumn.FGrouped (Группировать)
FGrouped: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Grouped (Группировать)
.

4.106.7. Поле TViewColumn.FIsFilterHidden (Фильтр скрыт)

4.106.8. Поле TViewColumn.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Position (Позиция)
.

4.106.9. Поле TViewColumn.FProperty (Свойство)
FProperty: TColumnProperty domain (Свойство колонки) .

Используется для хранения значений свойства TViewColumn.Property (Свойство)
.

4.106.10. Поле TViewColumn.FSortDirection (Направление сортировки)
FSortDirection: TSortDirection (Направление сортировки) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.SortDirection (Направление сортировки)
.

4.106.11. Поле TViewColumn.FWidth (Ширина)
FWidth: TWidth (Ширина) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Width (Ширина)
.

4.106.12. Свойство TViewColumn.Aggregate (Агрегат)
Aggregate: TAggregateKind (Тип агрегата) .

Для чтения и записи свойства используется поле TViewColumn.FAggregate (Агрегат) .

4.106.13. Свойство TViewColumn.Filter (Фильтр)
Filter: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TViewColumn.FFilter (Фильтр) .

4.106.14. Свойство TViewColumn.Fixed (Зафиксирована)
Fixed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FFixed (Зафиксирована) .

4.106.15. Свойство TViewColumn.ForceReadOnly (Только для чтения)
ForceReadOnly: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FForceReadOnly (Только для чтения) .

4.106.16. Свойство TViewColumn.Grouped (Группировать)
Grouped: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FGrouped (Группировать) .

4.106.17. Свойство TViewColumn.IsFilterHidden (Фильтр скрыт)

4.106.18. Свойство TViewColumn.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FPosition (Позиция) .

4.106.19. Свойство TViewColumn.Property (Свойство)
Property: TColumnProperty domain (Свойство колонки) .

Для чтения и записи свойства используется поле TViewColumn.FProperty (Свойство) .

4.106.20. Свойство TViewColumn.SortDirection (Направление сортировки)
SortDirection: TSortDirection (Направление сортировки) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FSortDirection (Направление сортировки) .

4.106.21. Свойство TViewColumn.Width (Ширина)
Width: TWidth (Ширина) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FWidth (Ширина) .

4.106.22. Функция TViewColumn.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TViewColumn.Create (Конструктор колонки представления)
.

4.107. Класс TVisualGroup (Визуальные группы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты могут включать в себя объекты классов:
  • TVisualGroupItem (Элемент визуальной группы)
  • TVisualGroupForm (Форма визуальной граппы)
  • TVisualGroupAccess (Доступ к визуальным группам)
  • TVisualGroupRoutine (Подпрограмма визуальной группы)

4.107.1. Конструктор TVisualGroup.Create (Конструктор визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Image (Изображение) | TImage (Изображение) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Collapsed (Свернута) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TVisualGroup (Визуальные группы) .

4.107.2. Поле TVisualGroup.FCollapsed (Свернута)
FCollapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Collapsed (Свернута)
.

4.107.3. Поле TVisualGroup.FImage (Изображение)
FImage: TImage (Изображение) .

Используется для хранения значений свойства TVisualGroup.Image (Изображение)
.

4.107.4. Поле TVisualGroup.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Position (Позиция)
.

4.107.5. Поле TVisualGroup.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Scope (Область видимости)
.

4.107.6. Свойство TVisualGroup.Collapsed (Свернута)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FCollapsed (Свернута) .

4.107.7. Свойство TVisualGroup.Image (Изображение)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TVisualGroup.FImage (Изображение) .

4.107.8. Свойство TVisualGroup.IsAccessible (Доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TVisualGroup.GetIsAccessible (Доступна) .

4.107.9. Свойство TVisualGroup.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FPosition (Позиция) .

4.107.10. Свойство TVisualGroup.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FScope (Область видимости) .

4.107.11. Функция TVisualGroup.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TVisualGroup.IsAccessible (Доступна)
.

4.107.12. Функция TVisualGroup.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TVisualGroup.Create (Конструктор визуальной группы)
.

4.108. Класс TVisualGroupAccess (Доступ к визуальным группам)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

4.108.1. Конструктор TVisualGroupAccess.Create (Конструктор доступа к визуальной группе)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Группа доступа) | TVisualGroup required domain (Визуальная группа (обязательно)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TVisualGroupAccess (Доступ к визуальным группам) .

4.109. Класс TVisualGroupForm (Форма визуальной граппы)
Унаследован от класса TVisualGroupItem (Элемент визуальной группы) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

4.109.1. Конструктор TVisualGroupForm.Create (Конструктор формы визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) | Унаследован | Доступен |
Form (Форма) | TForm required domain (Форма (обязательно)) |  | Доступен |

Конструирует объект класса TVisualGroupForm (Форма визуальной граппы) .

4.109.2. Поле TVisualGroupForm.FForm (Форма)
FForm: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupForm.Form (Форма)
.

4.109.3. Свойство TVisualGroupForm.Form (Форма)
Form: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupForm.FForm (Форма) .

4.109.4. Свойство TVisualGroupForm.Image (Изображение)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TForm.FImage (Изображеие-иконка) .

Дочернее свойство свойства Form (Форма) .

4.110. Класс TVisualGroupItem (Элемент визуальной группы)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

4.110.1. Конструктор TVisualGroupItem.Create (Конструктор элемента визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) |  | Доступен |

Конструирует объект класса TVisualGroupItem (Элемент визуальной группы) .

4.110.2. Поле TVisualGroupItem.FComment (Комментарий)
FComment: TComment (Текстовый комментарий) .

Используется для хранения значений свойства TVisualGroupItem.Comment (Комментарий)
.

4.110.3. Поле TVisualGroupItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupItem.Position (Позиция)
.

4.110.4. Свойство TVisualGroupItem.Comment (Комментарий)
Comment: TComment (Текстовый комментарий) .

Для чтения и записи свойства используется поле TVisualGroupItem.FComment (Комментарий) .

4.110.5. Свойство TVisualGroupItem.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupItem.FPosition (Позиция) .

4.110.6. Функция TVisualGroupItem.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TVisualGroupItem.Create (Конструктор элемента визуальной группы)
.

4.111. Класс TVisualGroupRoutine (Подпрограмма визуальной группы)
Унаследован от класса TVisualGroupItem (Элемент визуальной группы) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

4.111.1. Конструктор TVisualGroupRoutine.Create (Конструктор подпрограммы визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) | Унаследован | Доступен |
Routine (Подпрограмма) | TVisualGroup routine domain (Подпрограмма визуальной группы) |  | Доступен |

Конструирует объект класса TVisualGroupRoutine (Подпрограмма визуальной группы) .

4.111.2. Поле TVisualGroupRoutine.FRoutine (Подпрограмма)
FRoutine: TVisualGroup routine domain (Подпрограмма визуальной группы) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupRoutine.Routine (Подпрограмма)
.

4.111.3. Свойство TVisualGroupRoutine.Routine (Подпрограмма)
Routine: TVisualGroup routine domain (Подпрограмма визуальной группы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupRoutine.FRoutine (Подпрограмма) .

4.112. Класс TWordTemplate (Шаблоны отчетов Word)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

4.112.1. Конструктор TWordTemplate.Create (Конструктор шаблона Word)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TWordTemplateData (Данные Word-шаблона) |  | Доступен |
MacroName (Имя макроса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TWordTemplate (Шаблоны отчетов Word) .

4.112.2. Поле TWordTemplate.FMacroName (Имя макроса)
FMacroName: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TWordTemplate.MacroName (Имя макроса)
.

4.112.3. Поле TWordTemplate.FTemplateData (Данные шаблона)
FTemplateData: TWordTemplateData (Данные Word-шаблона) .

Используется для хранения значений свойства TWordTemplate.TemplateData (Данные шаблона)
.

4.112.4. Свойство TWordTemplate.MacroName (Имя макроса)
MacroName: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TWordTemplate.FMacroName (Имя макроса) .

4.112.5. Свойство TWordTemplate.TemplateData (Данные шаблона)
TemplateData: TWordTemplateData (Данные Word-шаблона) .

Для чтения и записи свойства используется поле TWordTemplate.FTemplateData (Данные шаблона) .

4.113. Класс TXSLTTemplate (Шаблоны отчетов XSLT)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

4.113.1. Конструктор TXSLTTemplate.Create (Конструктор шаблона xslt)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TXSLTTemplateData (Данные XSLT-шаблона) |  | Доступен |

Конструирует объект класса TXSLTTemplate (Шаблоны отчетов XSLT) .

4.113.2. Поле TXSLTTemplate.FTemplateData (Данные шаблона)
FTemplateData: TXSLTTemplateData (Данные XSLT-шаблона) .

Используется для хранения значений свойства TXSLTTemplate.TemplateData (Данные шаблона)
.

4.113.3. Свойство TXSLTTemplate.TemplateData (Данные шаблона)
TemplateData: TXSLTTemplateData (Данные XSLT-шаблона) .

Для чтения и записи свойства используется поле TXSLTTemplate.FTemplateData (Данные шаблона) .

4.114. Логический домен Boolean (Обычное логическое)
Значение обязательно для заполнения. Значение "истина" представляется строкой " Да ". Значение "ложь" представляется строкой " Нет ".

Используется в качестве простого признака, логического разряда.

4.115. Логический домен Non-required boolean (Необязательное логическое)
Значение "истина" представляется строкой " Да ". Значение "ложь" представляется строкой " Нет ".

Используется в качестве простого признака, логического разряда.

4.116. Перечисление TAggregateKind (Тип агрегата)
Допустимые значения:
  • agCount (Количество) - рассчитывается агрегат "Количество"
  • agSumm (Сумма) - рассчитывается агрегат "Сумма по колонке"
  • agMax (Максимальное значение) - рассчитывается агрегат "Максимальное значение по колонке"
  • agMin (Минимальное значение) - рассчитывается агрегат "Минимальное значение по колонке"
  • agAverage (Среднее значение) - рассчитывается агрегат "Среднее значение по колонке"

Определяет тип агрегации по колонке представления.

4.117. Перечисление TBlobSubtype (Подтип)
Значение обязательно для заполнения. Допустимые значения:
  • btText (Текст) - данные большого объекта представляют собой текст. Предположений о синтексисе текста не делается.
  • btBinaryData (Двоичные данные) - формат данных не интерпретируется системой.
  • btImage (Изображение) - данные содержат образ изображения в формате Windows Bitmap Storage (BMP).
  • btSourceCode (Исходный код) - данные являются исходным текстом на языке PascalScript.
  • btXML (XML-документ) - данные представляют собой xml-документ.
  • btNamedFile (Именованный файл) - данные представляют собой именованный файл. Имя файла также хранится в значении большого двоичного объекта.

Определяет формат значения большого двоичного объекта. Информация используется при попытке открыть значение для просмотра или редактирования.

4.118. Перечисление TChangeAction (Действие при изменении)
Значение обязательно для заполнения. Допустимые значения:
  • atCreated (Создан) - после создания объекта
  • atChanging (Изменится) - перед изменением объекта
  • atDestroying (Удаляется) - перед удалением объекта
  • atChanged (Изменен) - после изменения объекта

Значение соответствует изменяющему действию. Используется в процедурах изменения объекта.

4.119. Перечисление TDateTimePart (Часть даты или времени)
Значение обязательно для заполнения. Допустимые значения:
  • dpYear (Год)
  • dpMonth (Месяц)
  • dpDay (День)
  • dpHour (Час)
  • dpMinute (Минута)
  • dpSecond (Секунда)
  • dpDayOfWeek (День недели)

Значение описывает часть даты/времени

4.120. Перечисление TDeleteRule (Правило удаления)
Значение обязательно для заполнения. Допустимые значения:
  • drRestrict (Нет правила)
  • drCascade (Каскадное удаление)
  • drSetNull (Очистить ссылку)

Значение определяет действия, выполняемые системой при попытке удаления объекта.

4.121. Перечисление TExcelSheetKind (Тип листа Excel)
Значение обязательно для заполнения. Допустимые значения:
  • skNone (Не переносить данные на лист)
  • skFirst (На первый лист)
  • skFirstHidden (На певый скрытый лист)
  • skLast (На последний лист)
  • skNew (На новый лист)

Определяет лист для переноса данных при формировании отчета Microsoft Excel.

4.122. Перечисление TReplicationStatus (Статус репликации)
Значение обязательно для заполнения. Допустимые значения:
  • rsReplicatableMetadata (Вместе с метаданными)
  • rsReplicatable (Вместе с бизнес-данными)
  • rsNotReplicatable (Не реплицировать)

Определяет статус репликации объекта.

4.123. Перечисление TRowColor (Цвет строки таблицы)
Допустимые значения:
  • rcDefault (По умолчанию)
  • rcRed (Красная строка)
  • rcGreen (Зеленая строка)
  • rcBlue (Синяя строка)

Определяет цвет отображения строки в таблице.

4.124. Перечисление TScope (Область видимости)
Значение обязательно для заполнения. Допустимые значения:
  • scPublic (Видимо пользователям)
  • scPrivate (Не видимо пользователям)

Определяет область видимости элементов.

4.125. Перечисление TSecurityModel (Модели безопасности)
Значение обязательно для заполнения. Допустимые значения:
  • smFullAccess (Доступ не ограничен)
  • smPublic (Публичный объект)
  • smPrivate (Приватный объект)

Определяет модель безопасности, в соответствии с которой будет создан новый объект.

4.126. Перечисление TShowObjectInfoType (Тип представления объектов)
Значение обязательно для заполнения. Допустимые значения:
  • soName (Показывать имена)
  • soDescription (Показывать наименования)
  • soBoth (Показывать имена и наименования)

Описывает тип представления объектов, доступных по ссылке, в выпадающем списке и таблице.

4.127. Перечисление TSortDirection (Направление сортировки)
Значение обязательно для заполнения. Допустимые значения:
  • sdNone (Нет)
  • sdAscending (По возрастанию)
  • sdDescending (По убыванию)

Определяет направление сортировки по колонке представления.

4.128. Перечисление TUserAccessMode (Режим доступа)

4.129. Строковый домен Char (Символ)
Максимальная длина (в символах): 2.

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

4.130. Строковый домен TCaption (Заголовки)
Максимальная длина (в символах): 128.

Используется для представления заголовков элементов управления на экранных формах, например, закладок, групп, категорий свойств.

4.131. Строковый домен TExternalIndentifier (Внешний идентификатор)
Максимальная длина (в символах): 128.

Используется для идентификации объектов, внешних по отношению к системе, например, идентификторов классов OLE-объектов или макросов VBA.

4.132. Строковый домен TFileExtension (Расширение имени файла)
Максимальная длина (в символах): 10.

Служит для хранения расширения имени файла. Расширение имени может начинаться с точки. Значения ".xml" и "xml" функционально эквивалентны.

4.133. Строковый домен TGUID (Уникальные идентификаторы)
Значение обязательно для заполнения. Максимальная длина (в символах): 38.

Используется для хранения глобально-уникальных идентификаторов. Длина обусловлена традиционной формой представления идентификторов (GUID): "{ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ}" (без кавычек, с фигурными скобками), где Х - шестнадцатиричный разряд. Таким образом, глобально-уникальный идентификатор состоит из 16 байт.

Значение обязательно для заполнения.
Максимальная длина (в символах): 38.

4.134. Строковый домен TLongString (Длинная строка)
Максимальная длина (в символах): 2000.

Максимально длинная поддерживаемая строка. Используется для репрезентации "строки вообще" в строковых функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого строкового значения.

4.135. Строковый домен TObjectDescription (Наименования)
Значение обязательно для заполнения. Максимальная длина (в символах): 128.

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

4.136. Строковый домен TObjectName (Имена)
Значение обязательно для заполнения. Максимальная длина (в символах): 64.

Используется для хранения имен объектов. Каждый объект системы имеет обязательное имя. Имена объектов обязаны быть уникальными в пределах класса, родительского объекта (если есть) и инкапсулирующего объекта (если есть).

4.137. Строковый домен TOldID (Идентификаторы при создании)
Значение обязательно для заполнения. Максимальная длина (в символах): 38.

Используется для хранения идентификаторов объекта, полученного им при создании. Этот идентификатор сохраняется при репликации объекта в другую физическую базу данных. Длина обусловлена традиционной формой представления глобально-уникальных идентификторов (GUID): "{ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ}" (без кавычек, с фигурными скобками), где Х - шестнадцатиричный разряд.

Значение обязательно для заполнения.
Максимальная длина (в символах): 38.

4.138. Строковый домен TShortcut (Горячие клавиши)
Максимальная длина (в символах): 20.

Используется для задания горячих клавиш. Текст значения интерпретируется функцией Windows API GetKeyNameText. Примеры значений (без кавычек):

  • "Ins"
  • "Del"
  • "Ctrl+Ins"
  • "Ctrl+Alt+Ins"
  • "F12"
  • "F1"
  • "Ctrl+A"
  • "A"

4.139. Целочисленный домен Integer (Целое)

Используется для репрезентации "целого вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого целочисленного значения.

4.140. Целочисленный домен Percent (Процент)
Минимальное допустимое значение: 0 . Минимальное допустимое значение: 100 .

Используется для хранения целого количества процентов, для чего вводит ограничения на значение.

4.141. Целочисленный домен TLength (Длина)
Значение обязательно для заполнения. Минимальное допустимое значение: 1 .

Обозначет длину строки. Пустые строки системой не поддерживаются и интерпретируются как отстутсвие строкого значения (nil, null)

4.142. Целочисленный домен TPosition (Позиция)
Значение обязательно для заполнения. Минимальное допустимое значение: 0 .

Значение содержит позицию элемента в последовательности. Используется обычно для упорядочивания однородных элементов.

4.143. Целочисленный домен TPrescision (Точность)
Минимальное допустимое значение: 1 .

Используется для хранения точности представления вещественных чисел.

4.144. Целочисленный домен TWidth (Ширина)
Значение обязательно для заполнения. Минимальное допустимое значение: 0 .

Используется для хранения ширин экранных элементов (например, колонок)

5. Терминология

Интеграция - комплекс работ по настройке механизмов взаимодействия между различными учетными системами, которые функционируют независимо друг от друга в одной организационной структуре ("лоскутная" автоматизация).

Реплика - копия объекта (например, базы данных), обновляемая автоматически при обновлении оригинала.

Модальная форма - подчиененная форма, вызываемая из процедуры, накладывающая ограничения на использование процедуры пока модальная форма не будет закрыта.


Мельница данных ((раздел целиком))

Мельница данных- Класс TVisualGroupForm (Форма визуальной граппы) (раздел целиком) (23.04.2022) (одним файлом)
Класс TVisualGroupForm (Форма визуальной граппы)
Унаследован от класса TVisualGroupItem (Элемент визуальной группы) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

1. Конструктор TVisualGroupForm.Create (Конструктор формы визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) | Унаследован | Доступен |
Form (Форма) | TForm required domain (Форма (обязательно)) |  | Доступен |

Конструирует объект класса TVisualGroupForm (Форма визуальной граппы) .

2. Поле TVisualGroupForm.FForm (Форма)
FForm: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupForm.Form (Форма)
.

3. Свойство TVisualGroupForm.Form (Форма)
Form: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupForm.FForm (Форма) .

4. Свойство TVisualGroupForm.Image (Изображение)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TForm.FImage (Изображеие-иконка) .

Дочернее свойство свойства Form (Форма) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TDateDomain (Даты) (раздел целиком) (23.04.2022) (одним файлом)
Класс TDateDomain (Даты)
Унаследован от класса TDomain (Домены) .

1. Конструктор TDateDomain.Create (Конструктор домена даты)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TDateDomain (Даты) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TViewColumn (Колонки представлений) (раздел целиком) (23.04.2022) (одним файлом)
Класс TViewColumn (Колонки представлений)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TView (Представления) .

1. Конструктор TViewColumn.Create (Конструктор колонки представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Property (Свойство) | TColumnProperty domain (Свойство колонки) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Grouped (Группировать) | Boolean (Обычное логическое) |  | Доступен |
Aggregate (Агрегат) | TAggregateKind (Тип агрегата) |  | Доступен |
SortDirection (Направление сортировки) | TSortDirection (Направление сортировки) |  | Доступен |
Fixed (Зафиксирована) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TViewColumn (Колонки представлений) .

2. Поле TViewColumn.FAggregate (Агрегат)
FAggregate: TAggregateKind (Тип агрегата) .

Используется для хранения значений свойства TViewColumn.Aggregate (Агрегат)
.

3. Поле TViewColumn.FFilter (Фильтр)
FFilter: TCaption (Заголовки) .

Используется для хранения значений свойства TViewColumn.Filter (Фильтр)
.

4. Поле TViewColumn.FFixed (Зафиксирована)
FFixed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Fixed (Зафиксирована)
.

5. Поле TViewColumn.FForceReadOnly (Только для чтения)
FForceReadOnly: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.ForceReadOnly (Только для чтения)
.

6. Поле TViewColumn.FGrouped (Группировать)
FGrouped: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Grouped (Группировать)
.

7. Поле TViewColumn.FIsFilterHidden (Фильтр скрыт)

8. Поле TViewColumn.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Position (Позиция)
.

9. Поле TViewColumn.FProperty (Свойство)
FProperty: TColumnProperty domain (Свойство колонки) .

Используется для хранения значений свойства TViewColumn.Property (Свойство)
.

10. Поле TViewColumn.FSortDirection (Направление сортировки)
FSortDirection: TSortDirection (Направление сортировки) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.SortDirection (Направление сортировки)
.

11. Поле TViewColumn.FWidth (Ширина)
FWidth: TWidth (Ширина) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Width (Ширина)
.

12. Свойство TViewColumn.Aggregate (Агрегат)
Aggregate: TAggregateKind (Тип агрегата) .

Для чтения и записи свойства используется поле TViewColumn.FAggregate (Агрегат) .

13. Свойство TViewColumn.Filter (Фильтр)
Filter: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TViewColumn.FFilter (Фильтр) .

14. Свойство TViewColumn.Fixed (Зафиксирована)
Fixed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FFixed (Зафиксирована) .

15. Свойство TViewColumn.ForceReadOnly (Только для чтения)
ForceReadOnly: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FForceReadOnly (Только для чтения) .

16. Свойство TViewColumn.Grouped (Группировать)
Grouped: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FGrouped (Группировать) .

17. Свойство TViewColumn.IsFilterHidden (Фильтр скрыт)

18. Свойство TViewColumn.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FPosition (Позиция) .

19. Свойство TViewColumn.Property (Свойство)
Property: TColumnProperty domain (Свойство колонки) .

Для чтения и записи свойства используется поле TViewColumn.FProperty (Свойство) .

20. Свойство TViewColumn.SortDirection (Направление сортировки)
SortDirection: TSortDirection (Направление сортировки) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FSortDirection (Направление сортировки) .

21. Свойство TViewColumn.Width (Ширина)
Width: TWidth (Ширина) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FWidth (Ширина) .

22. Функция TViewColumn.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TViewColumn.Create (Конструктор колонки представления)
.


Мельница данных ((раздел целиком))

Мельница данных- Класс TFloatDomain (Вещественные числа) (раздел целиком) (23.04.2022) (одним файлом)
Класс TFloatDomain (Вещественные числа)
Унаследован от класса TDomain (Домены) .

1. Конструктор TFloatDomain.Create (Конструктор вещественного домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Длина) | TPrescision (Точность) |  | Доступен |
DecimalPlaces (Количество десятичных знаков) | TPrescision (Точность) |  | Доступен |
MinValue (Минимальное значение) | Float (Вещественное) |  | Доступен |
MaxValue (Максимальное значение) | Float (Вещественное) |  | Доступен |

Конструирует объект класса TFloatDomain (Вещественные числа) .

2. Поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой)
FDecimalPlaces: TPrescision (Точность) .

Используется для хранения значений свойства TFloatDomain.DecimalPlaces (Количество десятичных знаков)
.

3. Поле TFloatDomain.FLength (Максимальная длина)
FLength: TPrescision (Точность) .

Используется для хранения значений свойства TFloatDomain.Length (Длина)
.

4. Поле TFloatDomain.FMaxValue (Максимальное значение)
FMaxValue: Float (Вещественное) .

Используется для хранения значений свойства TFloatDomain.MaxValue (Максимальное значение)
.

5. Поле TFloatDomain.FMinValue (Минимальное значение)
FMinValue: Float (Вещественное) .

Используется для хранения значений свойства TFloatDomain.MinValue (Минимальное значение)
.

6. Свойство TFloatDomain.DecimalPlaces (Количество десятичных знаков)
DecimalPlaces: TPrescision (Точность) .

Для чтения и записи свойства используется поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой) .

7. Свойство TFloatDomain.Length (Длина)
Length: TPrescision (Точность) .

Для чтения и записи свойства используется поле TFloatDomain.FLength (Максимальная длина) .

8. Свойство TFloatDomain.MaxValue (Максимальное значение)
MaxValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TFloatDomain.FMaxValue (Максимальное значение) .

9. Свойство TFloatDomain.MinValue (Минимальное значение)
MinValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TFloatDomain.FMinValue (Минимальное значение) .


Мельница данных ((раздел целиком))

Мельница данных- Интерфейс ITypeInfo (раздел целиком) (23.04.2022) (одним файлом)
Интерфейс ITypeInfo
Информация о типах полей поставляется в виде набора объектов, каждый из которых реализует интерфейс (наследник INamedItemInfo )
  ITypeInfo = interface(INamedItemInfo)
    ['{2B6A5E20-3C36-4574-89DB-7C873A5C4A00}']
    function Get_Required: WordBool; safecall;
    function Get_SimpleType: TSimpleType; safecall;
  end;
Информация о конкретном типе передается при помощи реализации одного из наследников этого интерфейса.
  • функция Get_Required возвращает True, если значение поля обязательно для задания.
  • функция Get_SimpleType возвращает информацию о простом типе данных. В зависимости от возвращаемого значения объект должен также реализовывать один из интерфейсов конкретных типов (см. далее). Возможные значения (тип TSimpleType ):
    • dtString - строковый тип. Обязательно реализуется интерфейс IStringInfo
    • dtInteger - целочисленный тип. Обязательно реализуется интерфейс IIntegerInfo
    • dtFloat - вещественный тип. Обязательно реализуется интерфейс IFloatInfo
    • dtDate - тип "дата". Обязательно реализуется интерфейс IDateInfo
    • dtTime - тип "время". Обязательно реализуется интерфейс ITimeInfo
    • dtDateTime - тип "дата со временем". Обязательно реализуется интерфейс IDateTimeInfo
    • dtBoolean - логический тип. Обязательно реализуется интерфейс IBooleanInfo
    • dtEnumeration - перечисление. Обязательно реализуется интерфейс IEnumerationInfo
    • dtReference - ссылка. Обязательно реализуется интерфейс IReferenceInfo
    • dtBlob - Большой двоичный объект. Обязательно реализуется интерфейс IBlobInfo.

1. Интерфейс ITypeInfo2
Информация о предоставляемых провайдером дополнительных возможностях фильтрации (наследник интерфейса ITypeInfo)
  ITypeInfo2 = interface(ITypeInfo)
    ['{77F58BDF-F01C-40F3-B193-1027AD8C4EDA}']
    function GetSpecialFilterCount: Integer; safecall;
    function GetSpecialFilterText(Index: Integer): WideString; safecall;
    function EditSpecialFilter(Index: Integer; var Filter: WideString): WordBool; safecall;
  end;
  • функция GetSpecialFilterCount возвращает количество дополнительных элементов списка, выпадающего при выборе фильтра по колонке.
  • функция GetSpecialFilterText возвращает текст дополнительного элемента списка, выпадающего при выборе фильтра по колонке, с номером Index.
  • функция EditSpecialFilter вызывается в момент выбора пользователем дополнительного элемента списка, выпадающего при выборе фильтра по колонке, с номером Index. Значение выражения фильтра передается и возвращается в параметре Filter. Функция возвращает True в случае, если выражение, возвращенное в параметре Filter нужно применить для фильтрации столбца запроса, False - в противном случае.

2. Интерфейс IStringInfo
Информация о строковом типе (наследник интерфейса ITypeInfo)
  IStringInfo = interface(ITypeInfo)
    ['{74AC4C03-E803-421B-B30D-1A2D2C49827F}']
    function Get_Length: Integer; safecall;
  end;
  • функция Get_Length возвращает максимальную длину строки.

3. Интерфейс IIntegerInfo
Информация о целочисленном типе (наследник интерфейса ITypeInfo)
  IIntegerInfo = interface(ITypeInfo)
    ['{9003B25E-926D-42AE-A907-813DF3A8343E}']
    function Get_MaxValue: Integer; safecall;
    function Get_MaxValueUsed: WordBool; safecall;
    function Get_MinValue: Integer; safecall;
    function Get_MinValueUsed: WordBool; safecall;
  end;
  • функция Get_MaxValueUsed возвращает True, если значение имеет верхнюю границу.
  • функция Get_MaxValue возвращает верхнюю границу значения, если есть.
  • функция Get_MinValueUsed возвращает True, если значение имеет нижнюю границу.
  • функция Get_MinValue возвращает нижнюю границу значения, если есть.

4. Интерфейс IFloatInfo
Информация о вещественном типе (наследник интерфейса ITypeInfo )
  IFloatInfo = interface(ITypeInfo)
    ['{E9B56C6D-47DC-4AB9-9E80-6EEF77708704}']
    function Get_MaxValue: Double; safecall;
    function Get_MaxValueUsed: WordBool; safecall;
    function Get_MinValue: Double; safecall;
    function Get_MinValueUsed: WordBool; safecall;
    function Get_Precision: Integer; safecall;
    function Get_Scale: Integer; safecall;
  end;
  • функция Get_MaxValueUsed возвращает True, если значение имеет верхнюю границу.
  • функция Get_MaxValue возвращает верхнюю границу значения, если есть.
  • функция Get_MinValueUsed возвращает True, если значение имеет нижнюю границу.
  • функция Get_MinValue возвращает нижнюю границу значения, если есть.
  • функция Get_Precision возвращает максимальное количество значащих десятичных цифр в значении.
  • функция Get_Scale возвращает максимальное количество десятичных цифр после запятой.

5. Интерфейс IDateInfo
Информация о типе "Дата" (без времени) (наследник интерфейса ITypeInfo )
  IDateInfo = interface(ITypeInfo)
    ['{DA392510-105F-4655-9A38-18ECA2FBEB97}']
  end;
Не имеет методов.

6. Интерфейс ITimeInfo
Информация о типе "Время" (без даты) (наследник интерфейса ITypeInfo )
  ITimeInfo = interface(ITypeInfo)
    ['{D7067CAC-67A5-41DB-8D95-40409D8658AB}']
  end;
Не имеет методов.

7. Интерфейс IDateTimeInfo
Информация о типе "Дата со времемем" (наследник интерфейса ITypeInfo )
  IDateTimeInfo = interface(ITypeInfo)
    ['{7F5CC8F9-8CE1-4DB7-8932-884EF3BAB538}']
  end;
Не имеет методов.

8. Интерфейс IBooleanInfo
Информация о логическом типе (наследник интерфейса ITypeInfo )
  IBooleanInfo = interface(ITypeInfo)
    ['{8256EDF9-8613-4970-850C-50047839D6BF}']
    function Get_TrueValue: WideString; safecall;
    function Get_FalseValue: WideString; safecall;
  end;
  • функция Get_TrueValue возвращает отображаемую строку для значения True (например, "Да").
  • функция Get_FalseValue возвращает отображаемую строку для значения False (например, "Нет").

9. Интерфейс IEnumerationInfo
Информация о перечислимом типе (наследник интерфейса ITypeInfo )
  IEnumerationInfo = interface(ITypeInfo)
    ['{B58A3F23-1AAC-4420-ADFF-B23B9938A994}']
    function Get_ItemCount: Integer; safecall;
    function Get_Item(Index: Integer): IEnumerationItem; safecall;
  end;
Перечислимый тип определяет набор значений, которые может принимать поле. Значения в таблице трактуются как равные имени элемента перечисления.
  • функция Get_ItemCount возвращает количество элементов перечисления.
  • функция Get_Item возвращает ссылку на элемент перечисления с номером Index, реализующий интерфейс IEnumerationItem

10. Интерфейс IReferenceInfo
Информация о типе "ссылка" (наследник интерфейса ITypeInfo )
  IReferenceInfo = interface(ITypeInfo)
    ['{309C8CB1-4A1C-4E58-BC3F-D1AF27861A8F}']
    function Get_TargetTable: ITableInfo; safecall;
  end;
  • функция Get_TargetTable возвращает ссылку на таблицу, с которой осуществляется связь. Возвращается ссылка на интерфейс ITableInfo

11. Интерфейс IBlobInfo
Информация о типе "больших двоичных объектов" (наследник интерфейса ITypeInfo )
  IBlobInfo = interface(ITypeInfo)
    ['{3905C9C4-EAEB-4844-BB55-3F524F1F3FAC}']
    function Get_SubType: TBlobSubType; safecall;
  end;
  • функция Get_SubType возвращает подтип большого двоичного объекта. Одно из следующих значений (тип TBlobSubType ):
    • bsText - текст
    • bsImage - изображение
    • bsBinary - двоичные данные


Мельница данных ((раздел целиком))

Мельница данных- Справочник по метаданным (раздел целиком) (23.04.2022) (одним файлом)
Справочник по метаданным

1. Вещественный домен Float (Вещественное)

Используется для репрезентации "вещественного вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого вещественного значения.

2. Домен больших объектов TBinaryData (Двоичные данные)
Тип сохраненных данных - btBinaryData(Двоичные данные).

Используется для описания больших двоичных объектов, содержимое которых никак не интерпретируется системой.

3. Домен больших объектов TComment (Текстовый комментарий)
Тип сохраненных данных - btText (Текст).
При работе с файломи используется расширение имени ".txt".

Используется для хранения текстовых комментариев, описаний произвольной длины. Значение интерпретируется как текст.

4. Домен больших объектов TExcelTemplateData (Данные Excel-шаблона)
Тип сохраненных данных - btBinaryData (Двоичные данные). При работе с файломи используется расширение имени " .xls ".

Используется для хранения в базе рабочих книг Microsoft Excel, например, шаблонов отчетов Excel

Тип сохраненных данных - btBinaryData (Двоичные данные).
При работе с файломи используется расширение имени ".xls".

5. Домен больших объектов TFileContent (Содержимое файлов)
Тип сохраненных данных - btBinaryData (Двоичные данные).

Используется для хранения содержимого доступного файла.

6. Домен больших объектов TFilterCondition (Условие отбора)
Тип сохраненных данных - btSourceCode (Исходный код).

Содержит выражение на языке PascalScript, определяющее условие отбора.

Тип сохраненных данных - btSourceCode (Исходный код).

7. Домен больших объектов TImage (Изображение)
Тип сохраненных данных - btImage (Изображение). При работе с файломи используется расширение имени " .bmp ".

Используется для хранения изображений-иконок визуальных элементов системы.

Тип сохраненных данных - btImage (Изображение).
При работе с файломи используется расширение имени ".bmp".

8. Домен больших объектов TInlineExpressionText (Текст выражения)
Тип сохраненных данных - btSourceCode (Исходный код).

Содержит выражение на языке PascalScript, определяющее логику работы встраиваемого выражения.

9. Домен больших объектов TMethodBody (Исходные тексты методов)
Тип сохраненных данных - btSourceCode (Исходный код).

Содержит исходный текст метода на языке PascalScript.

Тип сохраненных данных - btSourceCode (Исходный код).

10. Домен больших объектов TRoutineScript (Скрипты форм параметров)
Тип сохраненных данных - btText (Текст).

Содержит скрипт формы задания параметров на языке VBScript.

Тип сохраненных данных - btVisualBasicScript (Скрипт Visual Basic).
При работе с файломи используется расширение имени ".vbs".

11. Домен больших объектов TWordTemplateData (Данные Word-шаблона)
Тип сохраненных данных - btBinaryData (Двоичные данные). При работе с файломи используется расширение имени " .doc ".

Используется для хранения в базе документов Microsoft Word, например, шаблонов отчетов Word

Тип сохраненных данных - btBinaryData (Двоичные данные).
При работе с файломи используется расширение имени ".doc".

12. Домен больших объектов TXSLTTemplateData (Данные XSLT-шаблона)
Тип сохраненных данных - btXML (XML-документ). При работе с файлами используется расширение имени " .xsl ".

Используется для хранения в базе данных скриптов xslt-преобразований, например, шаблонов отчетов XSLT.

Тип сохраненных данных - btXML (XML-документ).
При работе с файломи используется расширение имени " .xsl ".

13. Домен времени TTime (Время)

Используется для репрезентации "времени вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого значения времени.

14. Домен дат TDate (Дата)

Используется для репрезентации "даты вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты.

15. Домен дат со временем TimeStamp (Момент)

Используется для репрезентации "даты со временем вообще" в функциях библиотеки времени исполнения, либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты со временем.

>

16. Домен дат со временем TimeStamp required (Момент (обязательный))
Значение обязательно для заполнения.

Используется для репрезентации "даты со временем вообще" в функциях библиотеки времени исполнения, либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты со временем.

17. Домен ссылок на объекты TAccessor domain (Роли доступа)
Ссылка на класс TSecurityAccount (Роли безопасности) . Используется для обозначения роли безопасности, используемой при создании объектов для обеспечения защиты данных в соответствии с правами пользователя.

Ссылка на класс TSecurityAccount (Роли безопасности).

18. Домен ссылок на объекты TActionRoutine required domain (Метод действия)
Значение обязательно для заполнения.
Ссылка на класс TRoutine (Подпрограмма).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен используется для отбора подпрограмм, по которым можно построить программируемое действие. Домен отбирает только те подпрограммы, которые принадлежат к классу, на котором основано представление, в которое включается (включено) действие, к его предкам и его потомкам в иерархии наследования. Доступ к потомкам необходим, чтобы обеспечить возможность создания объектов конечных неабстрактных бизнес-классов из представления, обеспечивающего доступ к объектам абстрактного класса.

Использование этого домена в прикладных решениях запрещено.

19. Домен ссылок на объекты TBanGroup domain (Группа запретов)
Значение обязательно для заполнения.
Ссылка на класс TBanGroup (Группы запретов).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен используется дочерними классами групп запретов.

20. Домен ссылок на объекты TBannedProperty domain (Свойство для запрета)
Значение обязательно для заполнения.
Ссылка на класс TProperty (Свойства).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает свойства класса, по которому строится запрет на свойство, либо его предков.

Использование этого домена в прикладных решениях запрещено.

21. Домен ссылок на объекты TBannedRoutine domain (Подпрограмма для запрета)
Значение обязательно для заполнения. Ссылка на класс TRoutine (Подпрограмма) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает подпрограммы класса, по которому строится запрет на свойство, либо его предков.

Использование этого домена в прикладных решениях запрещено.

Значение обязательно для заполнения.
Ссылка на класс TRoutine (Подпрограмма).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Объекты отбираются по следующему условию:

BannedClass.HasAsParent(Self.Master)

22. Домен ссылок на объекты TButtonParameter domain (Параметр командной кнопки)

23. Домен ссылок на объекты TClass domain (Класс)
Ссылка на класс TClass (Классы) .

Используется для задания необязательной ссылки на класс.

24. Домен ссылок на объекты TClass required cascade domain (Класс (с каскадным удалением))
Значение обязательно для заполнения. Ссылка на класс TClass (Классы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания обязательной каскадной ссылки на класс в объектах-запрещениях. Удаление классов должно приводить к удалению связанных с ними запрещений.

25. Домен ссылок на объекты TClass required domain (Класс (обязательно))
Значение обязательно для заполнения. Ссылка на класс TClass (Классы) .

Используется для задания обязательной ссылки на класс.

26. Домен ссылок на объекты TCodeLibrary domain (Библиотека кода)
Ссылка на класс TAccessibleFile (Доступный файл) . При удалении объекта-источника ссылки значение ссылки очищается.

Используется для организации связи между методом Ole-объекта и доступным файлом, содержащим реализацию метода.

Использование этого домена в прикладных решениях запрещено.

27. Домен ссылок на объекты TColorProperty domain (Домен свойства цвета)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается.

Домен отбирает свойства класса, на котором основано представление, или его предков, имеющие тип Цвет строки таблицы.

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

Использование этого домена в прикладных решениях запрещено.

28. Домен ссылок на объекты TColumnProperty domain (Свойство колонки)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает свойства класса, на котором основано представление, или его предков.

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

Использование этого домена в прикладных решениях запрещено.

29. Домен ссылок на объекты TDetailProperty domain (Свойство-подчиненное)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается.

Домен отбирает свойства класса, на котором основано представление, или его предков для организации связи между представлениями.

Использование этого домена в прикладных решениях запрещено.

30. Домен ссылок на объекты TDomain domain (Домен)
Ссылка на класс TDomain (Домены) .

Используется для задания необязательной ссылки на домен.

31. Домен ссылок на объекты TDomain required domain (Домен (обязательно))
Значение обязательно для заполнения. Ссылка на класс TDomain (Домены) .

Используется для задания обязательной ссылки на домен.

32. Домен ссылок на объекты TForm required domain (Форма (обязательно))
Значение обязательно для заполнения. Ссылка на класс TForm (Формы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания обязательной ссылки на форму.

33. Домен ссылок на объекты TFormView domain (Представления форм)
Ссылка на класс TFormView (Представления формы) . При удалении объекта-источника ссылки значение ссылки очищается.

Используется для задания ссылки на представление формы.

Использование этого домена в прикладных решениях не рекомендуется.

34. Домен ссылок на объекты TInitializationMember domain (Член класса для инициализации)
Ссылка на класс TClassMember (Члены класса) .

Домен отбирает члены класса, которые

  • либо являются свойствами того же класса, которому принадлежит родительский метод параметра, либо его предков, домен которых совпадает по классу с доменом параметра
  • либо являются функциями того же класса, которому принадлежит родительский метод параметра, либо его предков, домен результата которых совпадает по классу с доменом параметра

Использование этого домена в прикладных решениях запрещено.

35. Домен ссылок на объекты TList domain (Список объектов)
Ссылка на класс TObjectList (Списки) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания каскадной ссылки на список объектов. Списки могут использоваться в тех случаях, в которых необходимо передавать набор объектов.

36. Домен ссылок на объекты TMaster domain (Объект (с каскадным удалением))
Значение обязательно для заполнения. Ссылка на класс TObject (Объекты) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает объекты, которые принадлежат к тому классу, который объявлен классом-мастером класса объекта.

Использование этого домена в прикладных решениях запрещено.

Этот домен используется в объявлении свойства TObject.Master, поэтому значение его сделано обязательным: в тех случаях, когда cвойство TObject.Master (Мастер) имеет смысл (для объектов, инкапсулированных в другие объекты), значение свойства обязательно.

37. Домен ссылок на объекты TMaster field domain (Домен поля "Мастер")
Ссылка на класс TObject (Объекты) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен отбирает объекты, которые принадлежат к тому классу, который объявлен классом-мастером класса объекта.

Использование этого домена в прикладных решениях запрещено.

Этот домен используется в объявлении поля TObject.FMaster (Мастер), поэтому значение его сделано необязательным: объектах, не инкапсулированных в другие классы значение поля обязано оставаться пустым.

Ссылка на класс TObject (Объекты).
При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

38. Домен ссылок на объекты TMasterProperty domain (Свойство-главное)
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается.

Домен отбирает свойства класса, на котором основано родительское в форме представление, или его предков для организации связи между представлениями.

Использование этого домена в прикладных решениях запрещено.

39. Домен ссылок на объекты TMergedObject domain (Объект для отождествления)
Значение обязательно для заполнения. Ссылка на класс TObject (Объекты) .

Объект отбирает объекты, включенные в тот же объект, что и текущий (либо они оба не включены ни в какой), и класс которых совпадает либо является родителем класса текущего объекта.

Использование этого домена в прикладных решениях запрещено.

40. Домен ссылок на объекты TObject domain (Объект)
Ссылка на класс TObject (Объекты) .

Домен определяет необязательную ссылку на объект системы. Используется там, где нельзя сделать предположения о классе передаваемого объекта.

41. Домен ссылок на объекты TOption required domain (Настройка (обязательно))
Значение обязательно для заполнения. Ссылка на класс TOption (Настройки) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен определяет обязательную ссылку на настройку системы и используется значениями настроек.

Использование этого домена в прикладных решениях запрещено.

42. Домен ссылок на объекты TOptionValue domain (Значение настройки)
Ссылка на класс TOptionValue (Значения настроек) .

Домен определяет ссылку на значение настройки системы.

43. Домен ссылок на объекты TParent domain (Родитель объекта)
Ссылка на класс TObject (Объекты) .

Домен отбирает объекты, которые могуть быть родителем объекта в иерархии.

Использование этого домена в прикладных решениях запрещено. Там, где это необходимо, используйте специализированные домены.

44. Домен ссылок на объекты TReadMember domain (Член класса для чтения)
Ссылка на класс TClassMember (Члены класса) .

Домен отбирает члены класса, которые

  • либо являются полями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен которых совпадает по классу с доменом свойства
  • либо являются функциями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен результата которых совпадает по классу с доменом свойства
  • либо являются встраиваемыми выражениями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен результата которых совпадает по классу с доменом свойства

Использование этого домена в прикладных решениях запрещено.

45. Домен ссылок на объекты TSecurityAccount domain (Роль безопасности)
Ссылка на класс TSecurityAccount (Роли безопасности) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания необязательной каскадной ссылки на роль безопасности.

46. Домен ссылок на объекты TSecurityAccount required domain (Роль безопасности (обязательно))
Значение обязательно для заполнения. Ссылка на класс TSecurityAccount (Роли безопасности) .

Используется для задания обязательной ссылки на роль безопасности.

47. Домен ссылок на объекты TSourceDataBase required domain (База данных)
Значение обязательно для заполнения. Ссылка на класс TDataBase (Базы данных) .

Домен используется для организации ссылки на логическую базу данных Системы.

Использование этого домена в прикладных решениях запрещено.

48. Домен ссылок на объекты TUser domain (Пользователь)
Ссылка на класс TUser (Пользователи) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания необязательной каскадной ссылки на пользователя Системы.

49. Домен ссылок на объекты TUser required domain (Пользователь)
Значение обязательно для заполнения. Ссылка на класс TUser (Пользователи) .

Используется для задания обязательной ссылки на пользователя.

50. Домен ссылок на объекты TView of ClassDomain domain (Представление)
Ссылка на класс TView (Представления) .

Домен отбирает те представления, которые основаны на классе, на который указывает ссылочный домен, либо на его предков.

Использование этого домена в прикладных решениях запрещено.

51. Домен ссылок на объекты TView of FormView domain (Представление для формы)
Значение обязательно для заполнения. Ссылка на класс TView (Представления) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Домен используется для постороения иерархии представлений форм и действий, основанных на представлении.

Использование этого домена в прикладных решениях запрещено.

52. Домен ссылок на объекты TVisualGroup required domain (Визуальная группа (обязательно))
Значение обязательно для заполнения. Ссылка на класс TVisualGroup (Визуальные группы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Используется для задания обязательной ссылки на визуальную группу.

53. Домен ссылок на объекты TVisualGroup routine domain (Подпрограмма визуальной группы)
Значение обязательно для заполнения. Ссылка на класс TRoutine (Подпрограмма) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются.

Отбирает подпрограммы, являющиеся методами класса, для использования в элементах визуальных групп.

Использование этого домена в прикладных решениях запрещено.

54. Домен ссылок на объекты TWriteMember domain (Член класса для записи)
Ссылка на класс TClassMember (Члены класса) .

Домен отбирает члены класса, которые

  • либо являются полями того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен которых совпадает по классу с доменом свойства
  • либо являются процедурами с одним параметром того же класса, которому принадлежит свойство, либо того, ссылкой на который является родительское свойство, либо его предков, домен результата которых совпадает по классу с доменом свойства

Использование этого домена в прикладных решениях запрещено.

55. Класс TAccessItem (Элементы доступа)

55.1. Конструктор TAccessItem.Create (Конструктор элемента доступа)

55.2. Поле TAccessItem.FSecurityAccount (Роль безопасности)

55.3. Свойство TAccessItem.Description (Наименование)

55.4. Свойство TAccessItem.Name (Имя)

55.5. Свойство TAccessItem.SecurityAccount (Роль безопасности)

55.6. Функция TAccessItem.GetIsAccessible (Проверка доступности)

56. Класс TAccessibleFile (Доступный файл)
Унаследован от класса TObject (Объекты).

Класс предназначен для хранения (двоичных) именованных (cвойство TObject.Name (Имя)) файлов внутри Системы. Содержимое этих файлов используется Системой в качестве источника статичных данных (картинок, стилевых таблиц, скриптовых библиотек, etc), доступных по протоколу http внутри отчета XSLT и для хранения библиотек кода, содержащих логику работы методов Ole-объекта. Разработчик решения вправе распорядится доступными файлами по своему усмотрению.

56.1. Конструктор TAccessibleFile.Create (Конструктор доступного файла)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
FileData (Данные файла) | TFileContent (Содержимое файлов) |  | Доступен |

Конструирует объект класса TAccessibleFile (Доступный файл) .

56.2. Поле TAccessibleFile.FFileData (Данные файла)
FFileData: TFileContent (Содержимое файлов).

Используется для хранения значений свойства TAccessibleFile.FileData (Данные файла).

56.3. Свойство TAccessibleFile.FileData (Данные файла)
FileData : TFileContent (Содержимое файлов) .

Для чтения и записи свойства используется поле TAccessibleFile.FFileData (Данные файла) .

Это свойство определяет содержимое доступного файла.

57. Класс TAction (Действия)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

Объекты класса моделируют элементы контектсного меню представления. Иерархия элементов контектсного меню отображается на иерахию объектов класса.

Сам по себе объект класса TAction определяет положение и поведение соответствующего пункта контекстного меню, кроме ассоциированного с пуктом действия. Для спецификации этого действия существуют классы-наследники TAction: класс TRoutineAction (Программируемое действие) и класс TViewAction (Действие-представление). Таким образом, объекты собственно класса TAction создаются на месте родительских пунктов контекстного меню, раскрывающихся, содержащих Стрелка раскрытия контекстного меню. Несмотря на то, что класс не является абстратным в строгом смылсле этого слова, ни одного объекта этого класса в системных метаданных нет в силу простоты структуры контекстного меню системных представлений. Разработчик решений не ограничен в создании и использовании объектов этого класса. Никаких общих рекомендаций тут быть не может, единственное, что можно утверждать - что контекстное меню должно быть удобным и в достижении этой цели можно организовывать требуемую иерархическую структуру.

Иерархия объектов класса TAction
На основе иерархии действий, показанной на рисунке (в таблице отображен фактический класс каждого объекта) построено следующее контекстное меню:
Контекстное меню, построенное на основе иерархии объектов класса TAction

57.1. Конструктор TAction.Create (Конструктор действия)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) |  | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TAction (Действия) .

57.2. Поле TAction.FDefault (По умолчанию)
FDefault : Boolean (Обычное логическое) (обязательно для заполнения).

Используется для хранения значений свойства TAction.Default (По умолчанию).

57.3. Поле TAction.FPosition (Позиция)
FPosition : TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TAction.Position (Позиция).

57.4. Поле TAction.FSeparated (Отделено)
FSeparated : Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TAction.Separated (Отделено).

57.5. Поле TAction.FShortcut (Горячая клавиша)
FShortcut : TShortcut (Горячие клавиши) .

Используется для хранения значений свойства TAction.Shortcut (Горячая клавиша).

57.6. Свойство TAction.Default (По умолчанию)
Default : Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FDefault (По умолчанию) .

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

Действие по умолчанию

57.7. Свойство TAction.Position (Позиция)
Position : TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FPosition (Позиция) .

Действия сортируются в пределах уровня для построения контекстного меню в порядке возрастания этого своства.

57.8. Свойство TAction.Separated (Отделено)
Separated : Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FSeparated (Отделено) .

После пункта меню, соответствующего действию с установленным свойством, будет отображен разделитель. Если пункт меню - последний, то разделитель не будет отображен.

Разделитель в контектстном меню

57.9. Свойство TAction.Shortcut (Горячая клавиша)
Shortcut : TShortcut (Горячие клавиши) .

Для чтения и записи свойства используется поле TAction.FShortcut (Горячая клавиша) .

Горячая клавиша определяет связь между нажатием сочетания клавиш на клавиатуре и действием, ассоциированным с пунктом меню. Тест, описывающий горячую клавишу, располагается справа в контекстном меню для тех действий, для которых горячая клавиша назначена.

57.10. Функция TAction.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен | Master (Мастер)
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Возвращает значение типа Integer (Целое).

Используется для инициализации значения параметра Position (Позиция) метода TAction.Create (Конструктор действия). Вычисляет следующую позицию добавляемого действия.

58. Класс TBanGroup (Группы запретов)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TBanGroupAccess (Доступ к группам запретов)
  • TBanGroupItem (Элементы группы запретов)
  • TClassBan (Запрет на класс)
  • TRoutineBan (Запрет на подпрограмму)
  • TPropertyBan (Запрет на свойство)

Объекты класса определяют группы запретов. Запреты на классы, свойства и подпрограммы объединяются разработчиком в функциональные группы, являющиеся группами запретов. В дальнейшем эти группы ассоциируются с конкретными ролями безопасности.

58.1. Конструктор TBanGroup.Create (Конструктор группы запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TBanGroup (Группы запретов) .

58.2. Свойство TBanGroup.IsAccessible (Доступна)
IsAccessible : Boolean (Обычное логическое) (обязательно для заполнения).

Для чтения значения свойства используется функция TBanGroup.GetIsAccessible (Доступна) . Свойство доступно только для чтения.

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

58.3. Функция TBanGroup.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TBanGroup.IsAccessible (Доступна).

59. Класс TBanGroupAccess (Доступ к группам запретов)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

Объекты класса определяют связь между родительской группой запретов и ролью безопасности.

Имя и наименование объекта полностью определяются другими свойствами, и запрещены для изменения.

59.1. Конструктор TBanGroupAccess.Create (Конструктор доступа к группе запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Группа запретов) | TBanGroup domain (Группа запретов) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TBanGroupAccess (Доступ к группам запретов) .

60. Класс TBanGroupItem (Элементы группы запретов)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

60.1. Конструктор TBanGroupItem.Create (Конструктор элемента группы запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TBanGroupItem (Элементы группы запретов) .

61. Класс TBlobDomain (Большие объекты)
Унаследован от класса TDomain (Домены) .

61.1. Конструктор TBlobDomain.Create (Конструктор домена больших объектов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
BlobSubtype (Подтип) | TBlobSubtype (Подтип) |  | Доступен |
Extension (Расширение) | TFileExtension (Расширение имени файла) |  | Доступен |

Конструирует объект класса TBlobDomain (Большие объекты) .

61.2. Поле TBlobDomain.FBlobSubtype (Подтип)
FBlobSubtype: TBlobSubtype (Подтип) (обязательно для заполнения) .

Используется для хранения значений свойства TBlobDomain.BlobSubtype (Подтип)
.

61.3. Поле TBlobDomain.FExtension (Расширение имени)
FExtension: TFileExtension (Расширение имени файла) .

Используется для хранения значений свойства TBlobDomain.Extension (Расширение)
.

61.4. Свойство TBlobDomain.BlobSubtype (Подтип)
BlobSubtype: TBlobSubtype (Подтип) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBlobDomain.FBlobSubtype (Подтип) .

61.5. Свойство TBlobDomain.Extension (Расширение)
Extension: TFileExtension (Расширение имени файла) .

Для чтения и записи свойства используется поле TBlobDomain.FExtension (Расширение имени) .

62. Класс TBooleanDomain (Логические)
Унаследован от класса TDomain (Домены) .

62.1. Конструктор TBooleanDomain.Create (Конструктор логического домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
TrueValue (Значение "Истина") | TObjectName (Имена) |  | Доступен |
FalseValue (Значение "Ложь") | TObjectName (Имена) |  | Доступен |

Конструирует объект класса TBooleanDomain (Логические) .

62.2. Поле TBooleanDomain.FFalseValue (Значение "Ложь")
FFalseValue: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойства TBooleanDomain.FalseValue (Значение "Ложь")
.

62.3. Поле TBooleanDomain.FTrueValue (Значение "Истина")
FTrueValue: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойства TBooleanDomain.TrueValue (Значение "Истина")
.

62.4. Свойство TBooleanDomain.FalseValue (Значение "Ложь")
FalseValue: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBooleanDomain.FFalseValue (Значение "Ложь") .

62.5. Свойство TBooleanDomain.TrueValue (Значение "Истина")
TrueValue: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBooleanDomain.FTrueValue (Значение "Истина") .

63. Класс TClass (Классы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты могут включать в себя объекты классов:
  • TClassMember (Члены класса)
  • TField (Поля)
  • TProperty (Свойства)
  • TMethod (Методы)
  • TXSLTTemplate (Шаблоны отчетов XSLT)
  • TExcelTemplate (Шаблоны отчетов Excel)
  • TRoutine (Подпрограмма)
  • TOleObjectMethod (Метод Ole-объекта)
  • TInlineExpression (Встраиваемое выражение)
  • TWordTemplate (Шаблоны отчетов Word)

63.1. Конструктор TClass.Create (Конструктор класса)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsHierarhical (Является иерархическим) | Boolean (Обычное логическое) |  | Доступен |
MasterClass (Класс-мастер) | TClass domain (Класс) |  | Доступен |
ReplicationStatus (Статус репликации) | TReplicationStatus (Статус репликации) |  | Доступен |
SecurityModel (Модель безопасности) | TSecurityModel (Модели безопасности) |  | Доступен |
UnNamed (Неименованный) | Boolean (Обычное логическое) |  | Доступен |
NameExpression (Выражение имени объекта) | TInlineExpressionText (Текст выражения) |  | Доступен |
DescriptionExpression (Выражение наименования объекта) | TInlineExpressionText (Текст выражения) |  | Доступен |
CreateConstructor (Создать конструктор) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TClass (Классы) .

63.2. Поле TClass.FDescriptionExpression (Выражение наименования объекта)
FDescriptionExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TClass.DescriptionExpression (Выражение наименования объекта)
.

63.3. Поле TClass.FIsHierarhical (Является иерархическим)
FIsHierarhical: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.IsHierarhical (Является иерархическим)
.

63.4. Поле TClass.FMasterClass (Класс-мастер)
FMasterClass: TClass domain (Класс) .

Используется для хранения значений свойств:
TClass.MasterClass (Класс-мастер)
TView.ShownClassMasterClass (Класс-мастер показываемого)
.

63.5. Поле TClass.FNameExpression (Выражение имени объекта)
FNameExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TClass.NameExpression (Выражение имени объекта)
.

63.6. Поле TClass.FReplicationStatus (Статус репликации)
FReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Используется для хранения значений свойств:
TClass.ReplicationStatus (Статус репликации)
TObject.ReplicationStatus (Статус репликации)
TView.ShownClassReplicationStatus (Статус репликации класса)
.

63.7. Поле TClass.FSecurityModel (Модель безопасности)
FSecurityModel: TSecurityModel (Модели безопасности) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.SecurityModel (Модель безопасности)
.

63.8. Поле TClass.FUnNamed (Неименованный)
FUnNamed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.UnNamed (Неименованный)
.

63.9. Процедура TClass.GenerateConstructor (Сгенерировать текст конструктора)

63.10. Свойство TClass.DescriptionExpression (Выражение наименования объекта)
DescriptionExpression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TClass.FDescriptionExpression (Выражение наименования объекта) .

63.11. Свойство TClass.IsHierarhical (Является иерархическим)
IsHierarhical: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TClass.FIsHierarhical (Является иерархическим) .

63.12. Свойство TClass.MasterClass (Класс-мастер)
MasterClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TClass.FMasterClass (Класс-мастер) .

63.13. Свойство TClass.NameExpression (Выражение имени объекта)
NameExpression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TClass.FNameExpression (Выражение имени объекта) .

63.14. Свойство TClass.ReplicationStatus (Статус репликации)
ReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

63.15. Свойство TClass.SecurityModel (Модель безопасности)
SecurityModel: TSecurityModel (Модели безопасности) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FSecurityModel (Модель безопасности) .

63.16. Свойство TClass.UnNamed (Неименованный)
UnNamed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FUnNamed (Неименованный) .

63.17. Функция TClass.ListProperties (Список видимых свойств)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

Возвращает значение типа TList domain (Список объектов) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

63.18. Функция TClass.ListRoutines (Список видимых подпрограмм)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

Возвращает значение типа TList domain (Список объектов) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

63.19. Шаблон отчета XSLT TClass.ClassesDiagram (Диаграмма классов)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ShowFields (Показывать поля) | Boolean (Обычное логическое) |  | Доступен |
ShowMethods (Показывать методы) | Boolean (Обычное логическое) |  | Доступен |
ShowProperties (Показывать свойства) | Boolean (Обычное логическое) |  | Доступен |
ShowParameters (Показывать параметры) | Boolean (Обычное логическое) |  | Доступен |
ShowMetadata (Показывать метаданные) | Boolean (Обычное логическое) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ShowFields (Показывать поля) | Boolean (Обычное логическое) |  | Доступен |
ShowMethods (Показывать методы) | Boolean (Обычное логическое) |  | Доступен |
ShowProperties (Показывать свойства) | Boolean (Обычное логическое) |  | Доступен |
ShowParameters (Показывать параметры) | Boolean (Обычное логическое) |  | Доступен |
ShowMetadata (Показывать метаданные) | Boolean (Обычное логическое) |  | Доступен |

64. Класс TClassBan (Запрет на класс)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

64.1. Конструктор TClassBan.Create (Конструктор запрета на класс)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |

Конструирует объект класса TClassBan (Запрет на класс) .

64.2. Поле TClassBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TClassBan.BannedClass (Запрещаемый класс)
.

64.3. Свойство TClassBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TClassBan.FBannedClass (Запрещенный класс) .

65. Класс TClassDomain (Ссылки на объекты)
Унаследован от класса TDomain (Домены) .

65.1. Конструктор TClassDomain.Create (Конструктор домена-ссылки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
ClassOfDomain (Класс домена) | TClass required domain (Класс (обязательно)) |  | Доступен |
View (Представление для выбора) | TView of ClassDomain domain (Представление) |  | Доступен |
FilterCondition (Условие отбора) | TFilterCondition (Условие отбора) |  | Доступен |
ShowObjectInfoType (Тип представления объектов) | TShowObjectInfoType (Тип представления объектов) |  | Доступен |
DeleteRule (Правило удаления) | TDeleteRule (Правило удаления) |  | Доступен |

Конструирует объект класса TClassDomain (Ссылки на объекты) .

65.2. Поле TClassDomain.FClass (Класс)
FClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.ClassOfDomain (Класс домена)
.

65.3. Поле TClassDomain.FDeleteRule (Правило удаления)
FDeleteRule: TDeleteRule (Правило удаления) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.DeleteRule (Правило удаления)
.

65.4. Поле TClassDomain.FFilterCondition (Условие отбора)
FFilterCondition: TFilterCondition (Условие отбора) .

Используется для хранения значений свойства TClassDomain.FilterCondition (Условие отбора)
.

65.5. Поле TClassDomain.FShowObjectInfoType (Тип представления объектов)
FShowObjectInfoType: TShowObjectInfoType (Тип представления объектов) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.ShowObjectInfoType (Тип представления объектов)
.

65.6. Поле TClassDomain.FView (Представление)
FView: TView of ClassDomain domain (Представление) .

Используется для хранения значений свойства TClassDomain.View (Представление)
.

65.7. Свойство TClassDomain.ClassOfDomain (Класс домена)
ClassOfDomain: TClass domain (Класс) .

Для чтения и записи свойства используется поле TClassDomain.FClass (Класс) .

65.8. Свойство TClassDomain.ClassReplicationStatus (Статус репликации класса)

65.9. Свойство TClassDomain.DeleteRule (Правило удаления)
DeleteRule: TDeleteRule (Правило удаления) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClassDomain.FDeleteRule (Правило удаления) .

65.10. Свойство TClassDomain.FilterCondition (Условие отбора)
FilterCondition: TFilterCondition (Условие отбора) .

Для чтения и записи свойства используется поле TClassDomain.FFilterCondition (Условие отбора) .

65.11. Свойство TClassDomain.ShowObjectInfoType (Тип представления объектов)
ShowObjectInfoType: TShowObjectInfoType (Тип представления объектов) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClassDomain.FShowObjectInfoType (Тип представления объектов) .

65.12. Свойство TClassDomain.View (Представление)
View: TView of ClassDomain domain (Представление) .

Для чтения и записи свойства используется поле TClassDomain.FView (Представление) .

66. Класс TClassMember (Члены класса)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TClass (Классы) .

67. Класс TCommandButton (Командные кнопки)

67.1. Конструктор TCommandButton.Create (Конструктор командной кнопки)

67.2. Поле TCommandButton.FGroup (Заголовок группы)

67.3. Поле TCommandButton.FParameter (Связанный параметр)

67.4. Поле TCommandButton.FPosition (Позиция)

67.5. Поле TCommandButton.FScript (Скрипт)

67.6. Поле TCommandButton.FTab (Заголовок закладки)

67.7. Свойство TCommandButton.Group (Заголовок группы)

67.8. Свойство TCommandButton.Parameter (Связанный параметр)

67.9. Свойство TCommandButton.Position (Позиция)

67.10. Свойство TCommandButton.Script (Скрипт)

67.11. Свойство TCommandButton.Tab (Заголовок закладки)

67.12. Функция TCommandButton.GetNextPos (Следующая позиция)

68. Класс TDataBase (Базы данных)
Унаследован от класса TObject (Объекты) .

68.1. Конструктор TDataBase.Create (Конструктор базы данных)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
GUID (GUID) | TGUID (Уникальные идентификаторы) |  | Доступен |
Protected (Защищена) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TDataBase (Базы данных) .

68.2. Поле TDataBase.FGUID (Идентификатор)
FGUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDataBase.GUID (Идентификатор)
TObject.SourceDataBaseGUID (GUID базы даных-источника)
.

68.3. Поле TDataBase.FIsCurrent (Является текущей)
FIsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDataBase.IsCurrent (Является текущей)
TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
.

68.4. Поле TDataBase.FProtected (Защищена)
FProtected: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TDataBase.Protected (Защищена от изменений)
.

68.5. Свойство TDataBase.GUID (Идентификатор)
GUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FGUID (Идентификатор) .

68.6. Свойство TDataBase.IsCurrent (Является текущей)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FIsCurrent (Является текущей) .

68.7. Свойство TDataBase.Protected (Защищена от изменений)
Protected: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDataBase.FProtected (Защищена) .

69. Класс TDateDomain (Даты)
Унаследован от класса TDomain (Домены) .

69.1. Конструктор TDateDomain.Create (Конструктор домена даты)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TDateDomain (Даты) .

70. Класс TDateTimeDomain (Даты со временем)
Унаследован от класса TDomain (Домены) .

70.1. Конструктор TDateTimeDomain.Create (Конструктор домена даты со временем)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TDateTimeDomain (Даты со временем) .

71. Класс TDomain (Домены)
Унаследован от класса TObject (Объекты) .

71.1. Встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей)
GetDependencyCount: Integer (Целое) .

Текст выражения:

count(TField with Domain = Self) +
count(TProperty with Domain = Self) +
count(TRoutine with Domain = Self) +
count(TParameter with Domain = Self) +
count(TOption with Domain = Self)

Используется для вычисления значений свойства TDomain.DependencyCount (Количество зависимостей)
.

71.2. Конструктор TDomain.Create (Конструктор домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TDomain (Домены) .

71.3. Поле TDomain.FRequired (Обязательно для заполнения)
FRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDomain.Required (Обязательно для заполнения)
TField.DomainRequired (Обязательно для заполнения)
TInlineExpression.DomainRequired (Обязательно для заполнения)
TProperty.DomainRequired (Обязательно для заполнения)
TParameter.DomainRequired (Обязательно для заполнения)
TOption.DomainRequired (Обязательно для заполнения)
.

71.4. Свойство TDomain.DependencyCount (Количество зависимостей)
DependencyCount: Integer (Целое) . Вычисление свойства отложено.

Для чтения значения свойства используется встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей) .

71.5. Свойство TDomain.Required (Обязательно для заполнения)
Required: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

72. Класс TEnumerationDomain (Перечисления)
Унаследован от класса TDomain (Домены) . Объекты могут включать в себя объекты классов:
  • TEnumerationItem (Элементы перечислений)

72.1. Конструктор TEnumerationDomain.Create (Конструктор перечисления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
ShowNames (Показывать имена элементов) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TEnumerationDomain (Перечисления) .

72.2. Поле TEnumerationDomain.FShowNames (Показывать имена)
FShowNames: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TEnumerationDomain.ShowNames (Показывать имена)
.

72.3. Свойство TEnumerationDomain.ShowNames (Показывать имена)
ShowNames: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TEnumerationDomain.FShowNames (Показывать имена) .

73. Класс TEnumerationItem (Элементы перечислений)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TEnumerationDomain (Перечисления) .

73.1. Конструктор TEnumerationItem.Create (Конструктор элемента перечисления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)

Конструирует объект класса TEnumerationItem (Элементы перечислений) .

73.2. Поле TEnumerationItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TEnumerationItem.Position (Позиция)
.

73.3. Свойство TEnumerationItem.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TEnumerationItem.FPosition (Позиция) .

73.4. Функция TEnumerationItem.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TEnumerationItem.Create (Конструктор элемента перечисления)
.

74. Класс TExcelTemplate (Шаблоны отчетов Excel)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

74.1. Конструктор TExcelTemplate.Create (Конструктор шаблона Excel)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TExcelTemplateData (Данные Excel-шаблона) |  | Доступен |
PlaceDataOnSheet (Лист для переноса данных) | TExcelSheetKind (Тип листа Excel) |  | Доступен |
MacroName (Имя макроса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TExcelTemplate (Шаблоны отчетов Excel) .

74.2. Поле TExcelTemplate.FMacroName (Имя макроса)
FMacroName: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TExcelTemplate.MacroName (Имя макроса)
.

74.3. Поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных)
FPlaceDataOnSheet: TExcelSheetKind (Тип листа Excel) (обязательно для заполнения) .

Используется для хранения значений свойства TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)
.

74.4. Поле TExcelTemplate.FTemplateData (Данные шаблона)
FTemplateData: TExcelTemplateData (Данные Excel-шаблона) .

Используется для хранения значений свойства TExcelTemplate.TemplateData (Данные шаблона)
.

74.5. Свойство TExcelTemplate.MacroName (Имя макроса)
MacroName: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TExcelTemplate.FMacroName (Имя макроса) .

74.6. Свойство TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных)
PlaceDataOnSheet: TExcelSheetKind (Тип листа Excel) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных) .

74.7. Свойство TExcelTemplate.TemplateData (Данные шаблона)
TemplateData: TExcelTemplateData (Данные Excel-шаблона) .

Для чтения и записи свойства используется поле TExcelTemplate.FTemplateData (Данные шаблона) .

75. Класс TField (Поля)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) .

75.1. Конструктор TField.Create (Конструктор поля)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
CreateProperty (Создать свойство) | Boolean (Обычное логическое) |  | Доступен |
CreateConstructorParameter (Создать параметр конструктора) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TField (Поля) .

75.2. Поле TField.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TField.Domain (Домен)
.

75.3. Свойство TField.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TField.FDomain (Домен) .

75.4. Свойство TField.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

75.5. Свойство TField.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

76. Класс TFileNameDomain (Имена файлов)
Унаследован от класса TStringDomain (Строковые) .

76.1. Конструктор TFileNameDomain.Create (Конструктор имени файла)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) | Унаследован | Доступен |
FileMustExist (Файл должен существовать) | Boolean (Обычное логическое) |  | Доступен |
DefaultExtension (Расширение по умолчанию) | TFileExtension (Расширение имени файла) |  | Доступен |
OverwritePrompt (Запрос перезаписи) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TFileNameDomain (Имена файлов) .

76.2. Поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию)
FDefaultExtension: TFileExtension (Расширение имени файла) .

Используется для хранения значений свойства TFileNameDomain.DefaultExtension (Расширение по умолчанию)
.

76.3. Поле TFileNameDomain.FFileMustExist (Файл должен существовать)
FFileMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFileNameDomain.FileMustExist (Файл должен существовать)
.

76.4. Поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи)
FOverwritePrompt: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFileNameDomain.OverwritePrompt (Запрос перезаписи)
.

76.5. Процедура TFileNameDomain.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

76.6. Свойство TFileNameDomain.DefaultExtension (Расширение по умолчанию)
DefaultExtension: TFileExtension (Расширение имени файла) .

Для чтения и записи свойства используется поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию) .

76.7. Свойство TFileNameDomain.FileMustExist (Файл должен существовать)
FileMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFileNameDomain.FFileMustExist (Файл должен существовать) .

76.8. Свойство TFileNameDomain.OverwritePrompt (Запрос перезаписи)
OverwritePrompt: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи) .

77. Класс TFloatDomain (Вещественные числа)
Унаследован от класса TDomain (Домены) .

77.1. Конструктор TFloatDomain.Create (Конструктор вещественного домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Длина) | TPrescision (Точность) |  | Доступен |
DecimalPlaces (Количество десятичных знаков) | TPrescision (Точность) |  | Доступен |
MinValue (Минимальное значение) | Float (Вещественное) |  | Доступен |
MaxValue (Максимальное значение) | Float (Вещественное) |  | Доступен |

Конструирует объект класса TFloatDomain (Вещественные числа) .

77.2. Поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой)
FDecimalPlaces: TPrescision (Точность) .

Используется для хранения значений свойства TFloatDomain.DecimalPlaces (Количество десятичных знаков)
.

77.3. Поле TFloatDomain.FLength (Максимальная длина)
FLength: TPrescision (Точность) .

Используется для хранения значений свойства TFloatDomain.Length (Длина)
.

77.4. Поле TFloatDomain.FMaxValue (Максимальное значение)
FMaxValue: Float (Вещественное) .

Используется для хранения значений свойства TFloatDomain.MaxValue (Максимальное значение)
.

77.5. Поле TFloatDomain.FMinValue (Минимальное значение)
FMinValue: Float (Вещественное) .

Используется для хранения значений свойства TFloatDomain.MinValue (Минимальное значение)
.

77.6. Свойство TFloatDomain.DecimalPlaces (Количество десятичных знаков)
DecimalPlaces: TPrescision (Точность) .

Для чтения и записи свойства используется поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой) .

77.7. Свойство TFloatDomain.Length (Длина)
Length: TPrescision (Точность) .

Для чтения и записи свойства используется поле TFloatDomain.FLength (Максимальная длина) .

77.8. Свойство TFloatDomain.MaxValue (Максимальное значение)
MaxValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TFloatDomain.FMaxValue (Максимальное значение) .

77.9. Свойство TFloatDomain.MinValue (Минимальное значение)
MinValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TFloatDomain.FMinValue (Минимальное значение) .

78. Класс TFolderNameDomain (Имена папок файловой системы)
Унаследован от класса TStringDomain (Строковые) .

78.1. Конструктор TFolderNameDomain.Create (Конструктор имени папки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) | Унаследован | Доступен |
FolderMustExist (Папка должна существовать) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TFolderNameDomain (Имена папок файловой системы) .

78.2. Поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать)
FFolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFolderNameDomain.FolderMustExist (Папка должна существовать)
.

78.3. Процедура TFolderNameDomain.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

78.4. Свойство TFolderNameDomain.FolderMustExist (Папка должна существовать)
FolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать) .

79. Класс TForm (Формы)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TFormAccess (Доступ к формам)
  • TFormView (Представления формы)

79.1. Конструктор TForm.Create (Конструктор формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
AutoOpen (Открывать автоматически) | Boolean (Обычное логическое) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Image (Изображение-иконка) | TImage (Изображение) |  | Доступен |
IsAlive ("Живая") | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TForm (Формы) .

79.2. Поле TForm.FAutoOpen (Открывать автоматически)
FAutoOpen: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.AutoOpen (Открывать автоматически)
.

79.3. Поле TForm.FImage (Изображеие-иконка)
FImage: TImage (Изображение) .

Используется для хранения значений свойств:
TForm.Image (Изображение-иконка)
TVisualGroupForm.Image (Изображение)
.

79.4. Поле TForm.FIsAlive (Живая)
FIsAlive: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.IsAlive ("Живая")
.

79.5. Поле TForm.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.Position (Позиция)
.

79.6. Поле TForm.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.Scope (Область видимости)
.

79.7. Свойство TForm.AutoOpen (Открывать автоматически)
AutoOpen: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FAutoOpen (Открывать автоматически) .

79.8. Свойство TForm.Image (Изображение-иконка)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TForm.FImage (Изображеие-иконка) .

79.9. Свойство TForm.IsAccessible (Доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TForm.GetIsAccessible (Доступна) .

79.10. Свойство TForm.IsAlive ("Живая")
IsAlive: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FIsAlive (Живая) .

79.11. Свойство TForm.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FPosition (Позиция) .

79.12. Свойство TForm.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FScope (Область видимости) .

79.13. Функция TForm.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойств:
TForm.IsAccessible (Доступна)
TInstantMessage.IsAccessible (Форма доступна)
.

79.14. Функция TForm.GetNextPos (Следующая позиция)
Является методом класса.

Возвращает значение типа Integer (Целое) .

Используется для инициализации значения параметра Position (Позиция) подпрограммы TForm.Create (Конструктор формы)
.

80. Класс TFormAccess (Доступ к формам)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TForm (Формы) .

80.1. Конструктор TFormAccess.Create (Конструктор доступа к форме)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Форма) | TForm required domain (Форма (обязательно)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TFormAccess (Доступ к формам) .

81. Класс TFormView (Представления формы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TForm (Формы) .

81.1. Конструктор TFormView.Create (Конструктор представления формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
View (Представление) | TView of FormView domain (Представление для формы) |  | Доступен |
ChildrenMinimized (Дочерние представления минимизированы) | Boolean (Обычное логическое) |  | Доступен |
ChildrenOnTabs (Дочерние представления на закладках) | Boolean (Обычное логическое) |  | Доступен |
MasterProperty (Свойство-главное) | TMasterProperty domain (Свойство-главное) |  | Доступен |
DetailProperty (Свойство-подчиненное) | TDetailProperty domain (Свойство-подчиненное) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
SpacePercentage (Площадь, %) | Percent (Процент) |  | Доступен |

Конструирует объект класса TFormView (Представления формы) .

81.2. Поле TFormView.FChildrenMinimized (Дочерние представления минимизированы)
FChildrenMinimized: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.ChildrenMinimized (Дочерние представления минимизированы)
.

81.3. Поле TFormView.FChildrenOnTabs (Дочерние представления на закладках)
FChildrenOnTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.ChildrenOnTabs (Дочерние представления на закладках)
.

81.4. Поле TFormView.FDetailProperty (Свойство-подчиненное)
FDetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Используется для хранения значений свойства TFormView.DetailProperty (Свойство-подчиненное)
.

81.5. Поле TFormView.FMasterProperty (Свойство-главное)
FMasterProperty: TMasterProperty domain (Свойство-главное) .

Используется для хранения значений свойства TFormView.MasterProperty (Свойство-главное)
.

81.6. Поле TFormView.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.Position (Позиция)
.

81.7. Поле TFormView.FSingleQuery (Единственный запрос)

81.8. Поле TFormView.FSpacePercentage (Площадь)
FSpacePercentage: Percent (Процент) .

Используется для хранения значений свойства TFormView.SpacePercentage (Площадь, %)
.

81.9. Поле TFormView.FView (Представление)
FView: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.View (Представление)
.

81.10. Свойство TFormView.ChildrenMinimized (Дочерние представления минимизированы)
ChildrenMinimized: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FChildrenMinimized (Дочерние представления минимизированы) .

81.11. Свойство TFormView.ChildrenOnTabs (Дочерние представления на закладках)
ChildrenOnTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FChildrenOnTabs (Дочерние представления на закладках) .

81.12. Свойство TFormView.Collapsed (Узлы свернуты)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FCollapsed (Свернуто) .

Дочернее свойство свойства View (Представление) .

81.13. Свойство TFormView.ColorProperty (Свойство-цвет)
ColorProperty: TColorProperty domain (Домен свойства цвета) .

Для чтения и записи свойства используется поле TView.FColorProperty (Свойство цвета) .

Дочернее свойство свойства View (Представление) .

81.14. Свойство TFormView.DetailProperty (Свойство-подчиненное)
DetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Для чтения и записи свойства используется поле TFormView.FDetailProperty (Свойство-подчиненное) .

81.15. Свойство TFormView.MasterProperty (Свойство-главное)
MasterProperty: TMasterProperty domain (Свойство-главное) .

Для чтения и записи свойства используется поле TFormView.FMasterProperty (Свойство-главное) .

81.16. Свойство TFormView.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FPosition (Позиция) .

81.17. Свойство TFormView.ShownClass (Показываемый класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FShownClass (Класс для показа) .

Дочернее свойство свойства View (Представление) .

81.18. Свойство TFormView.SingleQuery (Единственный запрос)

81.19. Свойство TFormView.SpacePercentage (Площадь, %)
SpacePercentage: Percent (Процент) .

Для чтения и записи свойства используется поле TFormView.FSpacePercentage (Площадь) .

81.20. Свойство TFormView.View (Представление)
View: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FView (Представление) .

81.21. Функция TFormView.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)

Используется для инициализации значения параметра Position (Позиция) подпрограммы TFormView.Create (Конструктор представления формы)
.

82. Класс TInlineExpression (Встраиваемое выражение)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) .

82.1. Конструктор TInlineExpression.Create (Конструктор встраиваемого выражения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Expression (Выражение) | TInlineExpressionText (Текст выражения) |  | Доступен |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |

Конструирует объект класса TInlineExpression (Встраиваемое выражение) .

82.2. Поле TInlineExpression.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TInlineExpression.Domain (Домен)
.

82.3. Поле TInlineExpression.FExpression (Выражение)
FExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TInlineExpression.Expression (Выражение)
.

82.4. Свойство TInlineExpression.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInlineExpression.FDomain (Домен) .

82.5. Свойство TInlineExpression.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

82.6. Свойство TInlineExpression.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

82.7. Свойство TInlineExpression.Expression (Выражение)
Expression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TInlineExpression.FExpression (Выражение) .

83. Класс TInstantMessage (Сообщения)
Унаследован от класса TObject (Объекты) .

83.1. Конструктор TInstantMessage.Create (Конструктор сообщения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
User (Пользователь) | TUser required domain (Пользователь) |  | Доступен |
FormView (Представление формы) | TFormView domain (Представления форм) |  | Доступен |
Object (Объект) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TInstantMessage (Сообщения) .

83.2. Поле TInstantMessage.FFormView (Представление формы)
FFormView: TFormView domain (Представления форм) .

Используется для хранения значений свойства TInstantMessage.FormView (Представление формы)
.

83.3. Поле TInstantMessage.FObject (Объект)
FObject: TObject domain (Объект) .

Используется для хранения значений свойства TInstantMessage.Object (Объект)
.

83.4. Поле TInstantMessage.FUser (Пользователь)
FUser: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TInstantMessage.User (Пользователь)
.

83.5. Поле TInstantMessage.FViewed (Просмотрено)
FViewed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TInstantMessage.Viewed (Просмотрено)
.

83.6. Свойство TInstantMessage.Form (Форма)
Form: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

Дочернее свойство свойства FormView (Представление формы) .

83.7. Свойство TInstantMessage.FormView (Представление формы)
FormView: TFormView domain (Представления форм) .

Для чтения и записи свойства используется поле TInstantMessage.FFormView (Представление формы) .

83.8. Свойство TInstantMessage.IsAccessible (Форма доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TForm.GetIsAccessible (Доступна) .

Дочернее свойство свойства Form (Форма) .

83.9. Свойство TInstantMessage.IsCurrent (Текущему пользователю)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

Дочернее свойство свойства User (Пользователь) .

83.10. Свойство TInstantMessage.Object (Объект)
Object: TObject domain (Объект) .

Для чтения и записи свойства используется поле TInstantMessage.FObject (Объект) .

83.11. Свойство TInstantMessage.User (Пользователь)
User: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInstantMessage.FUser (Пользователь) .

83.12. Свойство TInstantMessage.Viewed (Просмотрено)
Viewed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInstantMessage.FViewed (Просмотрено) .

84. Класс TIntegerDomain (Целые числа)
Унаследован от класса TDomain (Домены) .

84.1. Конструктор TIntegerDomain.Create (Конструктор целочисленного домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
MinValue (Минимальное значение) | Integer (Целое) |  | Доступен |
MaxValue (Максимальное значение) | Integer (Целое) |  | Доступен |

Конструирует объект класса TIntegerDomain (Целые числа) .

84.2. Поле TIntegerDomain.FMaxValue (Максимальное значение)
FMaxValue: Integer (Целое) .

Используется для хранения значений свойства TIntegerDomain.MaxValue (Максимальное значение)
.

84.3. Поле TIntegerDomain.FMinValue (Минимальное значение)
FMinValue: Integer (Целое) .

Используется для хранения значений свойства TIntegerDomain.MinValue (Минимальное значение)
.

84.4. Свойство TIntegerDomain.MaxValue (Максимальное значение)
MaxValue: Integer (Целое) .

Для чтения и записи свойства используется поле TIntegerDomain.FMaxValue (Максимальное значение) .

84.5. Свойство TIntegerDomain.MinValue (Минимальное значение)
MinValue: Integer (Целое) .

Для чтения и записи свойства используется поле TIntegerDomain.FMinValue (Минимальное значение) .

85. Класс TMethod (Методы)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

85.1. Конструктор TMethod.Create (Конструктор метода)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
Body (Тело) | TMethodBody (Исходные тексты методов) |  | Доступен |

Конструирует объект класса TMethod (Методы) .

85.2. Поле TMethod.FBody (Тело)
FBody: TMethodBody (Исходные тексты методов) .

Используется для хранения значений свойства TMethod.Body (Тело)
.

85.3. Свойство TMethod.Body (Тело)
Body: TMethodBody (Исходные тексты методов) .

Для чтения и записи свойства используется поле TMethod.FBody (Тело) .

85.4. Свойство TMethod.CallTemplate (Шаблон вызова)
CallTemplate: TLongString (Длинная строка) . Вычисление свойства отложено.

Для чтения значения свойства используется функция TMethod.CallTemplate (Шаблон вызова) .

85.5. Функция TMethod.CallTemplate (Шаблон вызова)

Возвращает значение типа TLongString (Длинная строка) .

Используется для вычисления значений свойства TMethod.CallTemplate (Шаблон вызова)
.

86. Класс TObject (Объекты)

86.1. Конструктор TObject.Create (Конструктор объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) |  | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) |  | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) |  | Скрыт |

Конструирует объект класса TObject (Объекты) .

86.2. Поле TObject.FClass (Класс)
FClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Class (Класс)
TOption.DomainClass (Класс домена)
TField.DomainClass (Класс домена)
TInlineExpression.DomainClass (Класс домена)
TProperty.DomainClass (Класс домена)
TParameter.DomainClass (Класс домена)
.

86.3. Поле TObject.FCreated (Создано)
FCreated: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Created (Создано)
.

86.4. Поле TObject.FCreator (Создано пользователем)
FCreator: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Creator (Создано пользователем)
.

86.5. Поле TObject.FDescription (Наименование)
FDescription: TObjectDescription (Наименования) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Description (Наименование)
TFormAccess.Description (Наименование)
TVisualGroupAccess.Description (Наименование)
TBanGroupAccess.Description (Наименование)
.

86.6. Поле TObject.FMaster (Мастер)
FMaster: TMaster field domain (Домен поля "Мастер") .

Используется для хранения значений свойств:
TObject.Master (Мастер)
TParameter.RoutineClass (Класс подпрограммы)
TOptionValue.Option (Настройка)
TInstantMessage.Form (Форма)
.

86.7. Поле TObject.FModified (Изменено)
FModified: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Modified (Изменено)
.

86.8. Поле TObject.FModifier (Изменено пользователем)
FModifier: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Modifier (Изменено пользователем)
.

86.9. Поле TObject.FName (Имя)
FName: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Name (Имя)
TFormAccess.Name (Имя)
TVisualGroupAccess.Name (Имя)
TBanGroupAccess.Name (Имя)
.

86.10. Поле TObject.FOldID (Идентификатор при создании)
FOldID: TOldID (Идентификаторы при создании) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.OldID (Идентификатор при создании)
.

86.11. Поле TObject.FParent (Родитель)
FParent: TParent domain (Родитель объекта) .

Используется для хранения значений свойства TObject.Parent (Родитель)
.

86.12. Поле TObject.FReader (Роль для чтения)
FReader: TAccessor domain (Роли доступа) .

Используется для хранения значений свойства TObject.Reader (Роль для чтения)
.

86.13. Поле TObject.FSourceDataBase (База данных)
FSourceDataBase: TSourceDataBase required domain (База данных) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.SourceDataBase (База данных-источник)
.

86.14. Поле TObject.FWriter (Роль для записи)
FWriter: TAccessor domain (Роли доступа) .

Используется для хранения значений свойства TObject.Writer (Роль для записи)
.

86.15. Процедура TObject.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) |  | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) |  | Скрыт |

86.16. Процедура TObject.Destroy (Деструктор объекта)

86.17. Процедура TObject.MergeTo (Отождествить с)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
PrimaryObject (Первичный объект) | TMergedObject domain (Объект для отождествления) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
PrimaryObject (Первичный объект) | TMergedObject domain (Объект для отождествления) |  | Доступен |

86.18. Процедура TObject.SendMessage (Отправить сообщение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
MessageText (Текст сообщения) | TObjectDescription (Наименования) |  | Доступен |
Broadcast (Всем пользователям) | Boolean (Обычное логическое) |  | Доступен |
Addressee (Адресат) | TSecurityAccount domain (Роль безопасности) |  | Доступен |
AttachSelected (Присоединить выбранные объекты) | Boolean (Обычное логическое) |  | Доступен |
Selected (Список выбранных объектов) | TList domain (Список объектов) |  | Скрыт | CurrentlySelected (Список выбранных)
CurrentFormView (Текущее представление формы) | TFormView domain (Представления форм) |  | Скрыт | CurrentFormView (Текущее представление формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
MessageText (Текст сообщения) | TObjectDescription (Наименования) |  | Доступен |
Broadcast (Всем пользователям) | Boolean (Обычное логическое) |  | Доступен |
Addressee (Адресат) | TSecurityAccount domain (Роль безопасности) |  | Доступен |
AttachSelected (Присоединить выбранные объекты) | Boolean (Обычное логическое) |  | Доступен |
Selected (Список выбранных объектов) | TList domain (Список объектов) |  | Скрыт | CurrentlySelected (Список выбранных)
CurrentFormView (Текущее представление формы) | TFormView domain (Представления форм) |  | Скрыт | CurrentFormView (Текущее представление формы)

86.19. Процедура TObject.Touch (Модификация объекта)

86.20. Псевдоподпрограмма TObject.Column (Колонка)

86.21. Псевдоподпрограмма TObject.Copy (Копировать)

86.22. Псевдоподпрограмма TObject.CurrentFormView (Текущее представление формы)
Является методом класса.

Возвращает значение типа TFormView domain (Представления форм) .

Используется для инициализации значения параметра CurrentFormView (Текущее представление формы) подпрограммы TObject.SendMessage (Отправить сообщение)
.

86.23. Псевдоподпрограмма TObject.CurrentlySelected (Список выбранных)
Является методом класса.

Возвращает значение типа TList domain (Список объектов) .

Используется для инициализации значения параметра Selected (Список выбранных объектов) подпрограммы TObject.SendMessage (Отправить сообщение)
.

86.24. Псевдоподпрограмма TObject.CurrentlyVisible (Список видимых)
Является методом класса.

Возвращает значение типа TList domain (Список объектов) .

86.25. Псевдоподпрограмма TObject.Edit columns (Редактировать колонки)

86.26. Псевдоподпрограмма TObject.Edit properties (Редактировать свойства)

86.27. Псевдоподпрограмма TObject.Export (Экспортировать)

86.28. Псевдоподпрограмма TObject.Merge (Объединить)

86.29. Псевдоподпрограмма TObject.Messages (Сообщения)
Является методом класса.

86.30. Псевдоподпрограмма TObject.Options (Настройки)
Является методом класса.

86.31. Псевдоподпрограмма TObject.Paste (Вставить)

86.32. Псевдоподпрограмма TObject.Refresh (Обновить)

86.33. Псевдоподпрограмма TObject.Selection (Выбранные)

86.34. Псевдоподпрограмма TObject.Tree (Дерево)

86.35. Свойство TObject.Class (Класс)
Class: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

86.36. Свойство TObject.Created (Создано)
Created: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FCreated (Создано) .

86.37. Свойство TObject.Creator (Создано пользователем)
Creator: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FCreator (Создано пользователем) .

86.38. Свойство TObject.Description (Наименование)
Description: TObjectDescription (Наименования) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TObject.FDescription (Наименование) .

86.39. Свойство TObject.Master (Мастер)
Master: TMaster domain (Объект (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

86.40. Свойство TObject.Modified (Изменено)
Modified: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FModified (Изменено) .

86.41. Свойство TObject.Modifier (Изменено пользователем)
Modifier: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FModifier (Изменено пользователем) .

86.42. Свойство TObject.Name (Имя)
Name: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TObject.FName (Имя) .

86.43. Свойство TObject.OldID (Идентификатор при создании)
OldID: TOldID (Идентификаторы при создании) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FOldID (Идентификатор при создании) .

86.44. Свойство TObject.Parent (Родитель)
Parent: TParent domain (Родитель объекта) .

Для чтения и записи свойства используется поле TObject.FParent (Родитель) .

86.45. Свойство TObject.Reader (Роль для чтения)
Reader: TAccessor domain (Роли доступа) .

Для чтения и записи свойства используется поле TObject.FReader (Роль для чтения) .

86.46. Свойство TObject.ReplicationStatus (Статус репликации)
ReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

Дочернее свойство свойства Class (Класс) .

86.47. Свойство TObject.SourceDataBase (База данных-источник)
SourceDataBase: TSourceDataBase required domain (База данных) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FSourceDataBase (База данных) .

86.48. Свойство TObject.SourceDataBaseGUID (GUID базы даных-источника)
SourceDataBaseGUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FGUID (Идентификатор) .

Дочернее свойство свойства SourceDataBase (База данных-источник) .

86.49. Свойство TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
SourceDataBaseIsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FIsCurrent (Является текущей) .

Дочернее свойство свойства SourceDataBase (База данных-источник) .

86.50. Свойство TObject.Writer (Роль для записи)
Writer: TAccessor domain (Роли доступа) .

Для чтения и записи свойства используется поле TObject.FWriter (Роль для записи) .

86.51. Функция TObject.ASCII (ASCII-код)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Char (Символ) |  | Скрыт |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Char (Символ) |  | Скрыт |

86.52. Функция TObject.Assigned (Проверка пустоты значения)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TObject domain (Объект) |  | Доступен |

86.53. Функция TObject.Char (Символ)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

Возвращает значение типа Char (Символ) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

86.54. Функция TObject.Copy (Копировать)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |
StartPos (Позиция) | Integer (Целое) |  | Доступен |
Length (Длина) | Integer (Целое) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |
StartPos (Позиция) | Integer (Целое) |  | Доступен |
Length (Длина) | Integer (Целое) |  | Доступен |

86.55. Функция TObject.DatePart (Часть даты)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

86.56. Функция TObject.DateTimePart (Часть даты со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp (Момент) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp (Момент) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

86.57. Функция TObject.DateTimeToStr (Дату и время в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp required (Момент (обязательный)) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp required (Момент (обязательный)) |  | Доступен |

86.58. Функция TObject.DateToStr (Дату в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |

86.59. Функция TObject.DependsOn (Зависит от)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
LeadingObject (Ведущий объект) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
LeadingObject (Ведущий объект) | TObject domain (Объект) |  | Доступен |

86.60. Функция TObject.Find (Поиск объекта)

86.61. Функция TObject.FloatToStr (Вещественное в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |

86.62. Функция TObject.GetLevel (Уровень в иерархии)

Возвращает значение типа TLength (Длина) .

86.63. Функция TObject.GetRoot (Получить корень иерархии)

Возвращает значение типа TObject domain (Объект) .

86.64. Функция TObject.HasAsChild (Объект является ребенком данного)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Child (Дочерний объект) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Child (Дочерний объект) | TObject domain (Объект) |  | Доступен |

86.65. Функция TObject.HasAsParent (Объект является родителем данного)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

86.66. Функция TObject.IfThenDate (Выбор из двух дат)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TDate (Дата) |  | Доступен |
AFalse (Значение при невыполнении условия) | TDate (Дата) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TDate (Дата) |  | Доступен |
AFalse (Значение при невыполнении условия) | TDate (Дата) |  | Доступен |

86.67. Функция TObject.IfThenDateTime (Выбор из двух дат со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TimeStamp (Момент) |  | Доступен |
AFalse (Значение при невыполнении условия) | TimeStamp (Момент) |  | Доступен |

Возвращает значение типа TimeStamp (Момент) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TimeStamp (Момент) |  | Доступен |
AFalse (Значение при невыполнении условия) | TimeStamp (Момент) |  | Доступен |

86.68. Функция TObject.IfThenFloat (Выбор из двух вещественных)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Float (Вещественное) |  | Доступен |
AFalse (Значение при невыполнении условия) | Float (Вещественное) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Float (Вещественное) |  | Доступен |
AFalse (Значение при невыполнении условия) | Float (Вещественное) |  | Доступен |

86.69. Функция TObject.IfThenInt (Выбор из двух целых)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Integer (Целое) |  | Доступен |
AFalse (Значение при невыполнении условия) | Integer (Целое) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Integer (Целое) |  | Доступен |
AFalse (Значение при невыполнении условия) | Integer (Целое) |  | Доступен |

86.70. Функция TObject.IfThenObject (Выбор из двух объектов)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TObject domain (Объект) |  | Доступен |
AFalse (Значение при невыполнении условия) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TObject domain (Объект) |  | Доступен |
AFalse (Значение при невыполнении условия) | TObject domain (Объект) |  | Доступен |

86.71. Функция TObject.IfThenStr (Выбор из двух строк)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TLongString (Длинная строка) |  | Доступен |
AFalse (Значение при невыполнении условия) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TLongString (Длинная строка) |  | Доступен |
AFalse (Значение при невыполнении условия) | TLongString (Длинная строка) |  | Доступен |

86.72. Функция TObject.IfThenTime (Выбор из двух времен)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TTime (Время) |  | Доступен |
AFalse (Значение при невыполнении условия) | TTime (Время) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TTime (Время) |  | Доступен |
AFalse (Значение при невыполнении условия) | TTime (Время) |  | Доступен |

86.73. Функция TObject.IntToStr (Целое в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

86.74. Функция TObject.IsInstanceOf (Является экземпляром класса)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Class (Класс) | TClass domain (Класс) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Class (Класс) | TClass domain (Класс) |  | Доступен |

86.75. Функция TObject.Round (Округление)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |
Decimals (Клоичество десятичных знаков) | Integer (Целое) |  | Скрыт |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |
Decimals (Клоичество десятичных знаков) | Integer (Целое) |  | Скрыт |

86.76. Функция TObject.StrLength (Длина строки)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |

86.77. Функция TObject.StrToDate (Строку в дату)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

86.78. Функция TObject.StrToDateTime (Строку в дату и время)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TimeStamp required (Момент (обязательный)) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

86.79. Функция TObject.StrToFloat (Строку в вещественное)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

86.80. Функция TObject.StrToInt (Строку в целое)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

86.81. Функция TObject.StrToTime (Строку во время)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

86.82. Функция TObject.TimePart (Часть времени)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

86.83. Функция TObject.TimeToStr (Время в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Скрыт |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Скрыт |

86.84. Функция TObject.Trunc (Отсечение дробной части)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Доступен |

86.85. Функция TObject.UniqueValue (Уникальный идентификатор)
Является методом класса.

Возвращает значение типа TObjectName (Имена) .

86.86. Шаблон отчета Excel TObject.Excel (Пустой шаблон Excel)
Является методом класса.

86.87. Шаблон отчета XSLT TObject.ObjectInformation (Информация об объекте)

87. Класс TObjectList (Списки)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TObjectListItem (Элементы списков)

87.1. Конструктор TObjectList.Create (Конструктор списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TObjectList (Списки) .

87.2. Процедура TObjectList.Add (Добавить объект в список)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

87.3. Процедура TObjectList.Clear (Очистить список)

87.4. Процедура TObjectList.Delete (Удалить объект)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

87.5. Процедура TObjectList.Force (Добавить, игнорируя ограничения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

87.6. Процедура TObjectList.SetItem (Установить объект в списке)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

87.7. Функция TObjectList.ByName (Поиск по имени)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен |

87.8. Функция TObjectList.GetItem (Получить объект из списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |

87.9. Функция TObjectList.IndexOf (Индек объекта в списке)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

87.10. Функция TObjectList.Length (Длина списка)

Возвращает значение типа Integer (Целое) .

88. Класс TObjectListItem (Элементы списков)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TObjectList (Списки) .

88.1. Конструктор TObjectListItem.Create (Конструктор элемента списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TObjectListItem (Элементы списков) .

88.2. Поле TObjectListItem.FObject (Объект)
FObject: TObject domain (Объект) .

88.3. Поле TObjectListItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

89. Класс TOleObjectMethod (Метод Ole-объекта)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

89.1. Конструктор TOleObjectMethod.Create (Конструктор метода Ole-объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
CodeLibrary (Библиотека кода) | TCodeLibrary domain (Библиотека кода) |  | Доступен |
ClassID (Идентификатор класса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |
Method (Метод) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TOleObjectMethod (Метод Ole-объекта) .

89.2. Поле TOleObjectMethod.FClassID (Идентификатор класса)
FClassID: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TOleObjectMethod.ClassID (Идентификатор класса)
.

89.3. Поле TOleObjectMethod.FCodeLibrary (Библиотека кода)
FCodeLibrary: TCodeLibrary domain (Библиотека кода) .

Используется для хранения значений свойства TOleObjectMethod.CodeLibrary (Библиотека кода)
.

89.4. Поле TOleObjectMethod.FMethod (Имя метода)
FMethod: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TOleObjectMethod.Method (Метод)
.

89.5. Свойство TOleObjectMethod.ClassID (Идентификатор класса)
ClassID: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TOleObjectMethod.FClassID (Идентификатор класса) .

89.6. Свойство TOleObjectMethod.CodeLibrary (Библиотека кода)
CodeLibrary: TCodeLibrary domain (Библиотека кода) .

Для чтения и записи свойства используется поле TOleObjectMethod.FCodeLibrary (Библиотека кода) .

89.7. Свойство TOleObjectMethod.Method (Метод)
Method: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TOleObjectMethod.FMethod (Имя метода) .

90. Класс TOption (Настройки)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TOptionValue (Значения настроек)

90.1. Конструктор TOption.Create (Конструктор настройки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
Global (Глобальная) | Boolean (Обычное логическое) |  | Доступен |
Group (Заголовок группы) | TCaption (Заголовки) |  | Доступен |
Tab (Заголовок закладки) | TCaption (Заголовки) |  | Доступен |
Position (Позиция) | Integer (Целое) |  | Доступен | GetNextPos (Следующая позиция)

Конструирует объект класса TOption (Настройки) .

90.2. Поле TOption.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TOption.Domain (Домен)
TOptionValue.Domain (Домен)
.

90.3. Поле TOption.FGlobal (Глобальная)
FGlobal: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TOption.Global (Глобальная)
TOptionValue.Global (Глобальная)
.

90.4. Поле TOption.FGroup (Заголовок группы)
FGroup: TCaption (Заголовки) .

Используется для хранения значений свойства TOption.Group (Заголовок группы)
.

90.5. Поле TOption.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TOption.Position (Позиция)
.

90.6. Поле TOption.FTab (Заголовок закладки)
FTab: TCaption (Заголовки) .

Используется для хранения значений свойства TOption.Tab (Заголовок закладки)
.

90.7. Процедура TOption.SetValue (Установка значения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

90.8. Свойство TOption.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FDomain (Домен) .

90.9. Свойство TOption.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

90.10. Свойство TOption.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

90.11. Свойство TOption.Global (Глобальная)
Global: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FGlobal (Глобальная) .

90.12. Свойство TOption.Group (Заголовок группы)
Group: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TOption.FGroup (Заголовок группы) .

90.13. Свойство TOption.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FPosition (Позиция) .

90.14. Свойство TOption.Tab (Заголовок закладки)
Tab: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TOption.FTab (Заголовок закладки) .

90.15. Свойство TOption.User (Пользователь)
User: TUser domain (Пользователь) .

Для чтения и записи свойства используется поле TOptionValue.FUser (Пользователь) .

Дочернее свойство свойства Value (Значение) .

90.16. Свойство TOption.Value (Значение)
Value: TOptionValue domain (Значение настройки) . Вычисление свойства отложено.

Для чтения значения свойства используется функция TOption.GetValue (Значение) .

90.17. Свойство TOption.VisibleValue (Видимое значение)
VisibleValue: TLongString (Длинная строка) .

Для чтения значения свойства используется функция TOptionValue.GetVisibleValue (Видимое значение) .

Дочернее свойство свойства Value (Значение) .

90.18. Функция TOption.AreValid (Настройки действительны)
Является методом класса.

Возвращает значение типа Boolean (Обычное логическое) .

90.19. Функция TOption.GetBlobValue (Значение-большой объект)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TBinaryData (Двоичные данные) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

90.20. Функция TOption.GetBoolValue (Логическое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

90.21. Функция TOption.GetDateTimeValue (Значение даты со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TimeStamp (Момент) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

90.22. Функция TOption.GetDateValue (Значение даты)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

90.23. Функция TOption.GetFloatValue (Вещественное значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

90.24. Функция TOption.GetIntValue (Целое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

90.25. Функция TOption.GetNextPos (Следующая позиция)
Является методом класса.

Возвращает значение типа Integer (Целое) .

Используется для инициализации значения параметра Position (Позиция) подпрограммы TOption.Create (Конструктор настройки)
.

90.26. Функция TOption.GetObjectValue (Значение-объект)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

90.27. Функция TOption.GetStrValue (Строковое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

90.28. Функция TOption.GetTimeValue (Значение времени)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

90.29. Функция TOption.GetValue (Значение)

Возвращает значение типа TOptionValue domain (Значение настройки) .

Используется для вычисления значений свойства TOption.Value (Значение)
.

91. Класс TOptionValue (Значения настроек)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TOption (Настройки) .

91.1. Конструктор TOptionValue.Create (Конструктор значения настройки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
User (Пользователь) | TUser domain (Пользователь) |  | Доступен |
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TOptionValue (Значения настроек) .

91.2. Поле TOptionValue.FBlobValue (Значение-большой объект)
FBlobValue: TBinaryData (Двоичные данные) .

Используется для хранения значений свойства TOptionValue.BlobValue (Значение-большой объект)
.

91.3. Поле TOptionValue.FBoolValue (Логическое значение)
FBoolValue: Non-required boolean (Необязательное логическое) .

Используется для хранения значений свойства TOptionValue.BoolValue (Логическое значение)
.

91.4. Поле TOptionValue.FDateTimeValue (Значение даты со временем)
FDateTimeValue: TimeStamp (Момент) .

Используется для хранения значений свойства TOptionValue.DateTimeValue (Значение даты со временем)
.

91.5. Поле TOptionValue.FDateValue (Значение даты)
FDateValue: TDate (Дата) .

Используется для хранения значений свойства TOptionValue.DateValue (Значение даты)
.

91.6. Поле TOptionValue.FFloatValue (Вещественное значение)
FFloatValue: Float (Вещественное) .

Используется для хранения значений свойства TOptionValue.FloatValue (Вещественное значение)
.

91.7. Поле TOptionValue.FIntValue (Целое значение)
FIntValue: Integer (Целое) .

Используется для хранения значений свойства TOptionValue.IntValue (Целое значение)
.

91.8. Поле TOptionValue.FObjectValue (Значение-объект)
FObjectValue: TObject domain (Объект) .

Используется для хранения значений свойства TOptionValue.ObjectValue (Значение-объект)
.

91.9. Поле TOptionValue.FStrValue (Строковое значение)
FStrValue: TLongString (Длинная строка) .

Используется для хранения значений свойства TOptionValue.StrValue (Строковое значение)
.

91.10. Поле TOptionValue.FTimeValue (Значение времени)
FTimeValue: TTime (Время) .

Используется для хранения значений свойства TOptionValue.TimeValue (Значение времени)
.

91.11. Поле TOptionValue.FUser (Пользователь)
FUser: TUser domain (Пользователь) .

Используется для хранения значений свойств:
TOptionValue.User (Пользователь)
TOption.User (Пользователь)
.

91.12. Свойство TOptionValue.BlobValue (Значение-большой объект)
BlobValue: TBinaryData (Двоичные данные) .

Для чтения и записи свойства используется поле TOptionValue.FBlobValue (Значение-большой объект) .

91.13. Свойство TOptionValue.BoolValue (Логическое значение)
BoolValue: Non-required boolean (Необязательное логическое) .

Для чтения и записи свойства используется поле TOptionValue.FBoolValue (Логическое значение) .

91.14. Свойство TOptionValue.DateTimeValue (Значение даты со временем)
DateTimeValue: TimeStamp (Момент) .

Для чтения и записи свойства используется поле TOptionValue.FDateTimeValue (Значение даты со временем) .

91.15. Свойство TOptionValue.DateValue (Значение даты)
DateValue: TDate (Дата) .

Для чтения и записи свойства используется поле TOptionValue.FDateValue (Значение даты) .

91.16. Свойство TOptionValue.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FDomain (Домен) .

Дочернее свойство свойства Option (Настройка) .

91.17. Свойство TOptionValue.FloatValue (Вещественное значение)
FloatValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TOptionValue.FFloatValue (Вещественное значение) .

91.18. Свойство TOptionValue.Global (Глобальная)
Global: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FGlobal (Глобальная) .

Дочернее свойство свойства Option (Настройка) .

91.19. Свойство TOptionValue.IntValue (Целое значение)
IntValue: Integer (Целое) .

Для чтения и записи свойства используется поле TOptionValue.FIntValue (Целое значение) .

91.20. Свойство TOptionValue.IsCurrent (Является текущим)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

Дочернее свойство свойства User (Пользователь) .

91.21. Свойство TOptionValue.ObjectValue (Значение-объект)
ObjectValue: TObject domain (Объект) .

Для чтения и записи свойства используется поле TOptionValue.FObjectValue (Значение-объект) .

91.22. Свойство TOptionValue.Option (Настройка)
Option: TOption required domain (Настройка (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

91.23. Свойство TOptionValue.StrValue (Строковое значение)
StrValue: TLongString (Длинная строка) .

Для чтения и записи свойства используется поле TOptionValue.FStrValue (Строковое значение) .

91.24. Свойство TOptionValue.TimeValue (Значение времени)
TimeValue: TTime (Время) .

Для чтения и записи свойства используется поле TOptionValue.FTimeValue (Значение времени) .

91.25. Свойство TOptionValue.User (Пользователь)
User: TUser domain (Пользователь) .

Для чтения и записи свойства используется поле TOptionValue.FUser (Пользователь) .

91.26. Свойство TOptionValue.VisibleValue (Видимое значение)
VisibleValue: TLongString (Длинная строка) .

Для чтения значения свойства используется функция TOptionValue.GetVisibleValue (Видимое значение) .

91.27. Функция TOptionValue.GetVisibleValue (Видимое значение)

Возвращает значение типа TLongString (Длинная строка) .

Используется для вычисления значений свойств:
TOptionValue.VisibleValue (Видимое значение)
TOption.VisibleValue (Видимое значение)
.

92. Класс TParameter (Параметры)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TRoutine (Подпрограмма) .

92.1. Конструктор TParameter.Create (Конструктор параметра)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Group (Заголовок группы) | TCaption (Заголовки) |  | Доступен |
Tab (Заголовок закладки) | TCaption (Заголовки) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
InitializationMember (Инициализируется членом класса) | TInitializationMember domain (Член класса для инициализации) |  | Доступен |

Конструирует объект класса TParameter (Параметры) .

92.2. Поле TParameter.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Domain (Домен)
.

92.3. Поле TParameter.FGroup (Заголовок группы)
FGroup: TCaption (Заголовки) .

Используется для хранения значений свойства TParameter.Group (Заголовок группы)
.

92.4. Поле TParameter.FInitializationMember (Инициализируется членом)
FInitializationMember: TInitializationMember domain (Член класса для инициализации) .

Используется для хранения значений свойства TParameter.InitializationMember (Инициализируется членом класса)
.

92.5. Поле TParameter.FOutOfTabs (За пределами закладок)

92.6. Поле TParameter.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Position (Позиция)
.

92.7. Поле TParameter.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Scope (Область видимости)
.

92.8. Поле TParameter.FTab (Заголовок закладки)
FTab: TCaption (Заголовки) .

Используется для хранения значений свойства TParameter.Tab (Заголовок закладки)
.

92.9. Свойство TParameter.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FDomain (Домен) .

92.10. Свойство TParameter.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

92.11. Свойство TParameter.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

92.12. Свойство TParameter.Group (Заголовок группы)
Group: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TParameter.FGroup (Заголовок группы) .

92.13. Свойство TParameter.InitializationMember (Инициализируется членом класса)
InitializationMember: TInitializationMember domain (Член класса для инициализации) .

Для чтения и записи свойства используется поле TParameter.FInitializationMember (Инициализируется членом) .

92.14. Свойство TParameter.OutOfTabs (За пределами закладок)

92.15. Свойство TParameter.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FPosition (Позиция) .

92.16. Свойство TParameter.RoutineClass (Класс подпрограммы)
RoutineClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

Дочернее свойство свойства Master (Мастер) .

92.17. Свойство TParameter.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FScope (Область видимости) .

92.18. Свойство TParameter.Tab (Заголовок закладки)
Tab: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TParameter.FTab (Заголовок закладки) .

92.19. Функция TParameter.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TParameter.Create (Конструктор параметра)
.

93. Класс TProperty (Свойства)
Унаследован от класса TClassMember (Члены класса) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TClass (Классы) .

93.1. Конструктор TProperty.Create (Конструктор свойства)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
ReadMember (Член класса для чтения) | TReadMember domain (Член класса для чтения) |  | Доступен |
WriteMember (Член класса для записи) | TWriteMember domain (Член класса для записи) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
IsExportable (Для экспорта) | Boolean (Обычное логическое) |  | Доступен |
Category (Категория) | TCaption (Заголовки) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
IsSuspended (Отложенное) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TProperty (Свойства) .

93.2. Поле TProperty.FCategory (Категория)
FCategory: TCaption (Заголовки) .

Используется для хранения значений свойства TProperty.Category (Категория)
.

93.3. Поле TProperty.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Domain (Домен)
.

93.4. Поле TProperty.FIsExportable (Эскпортируется)
FIsExportable: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.IsExportable (Для экспорта)
.

93.5. Поле TProperty.FIsSuspended (Отложенное)
FIsSuspended: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.IsSuspended (Отложенное)
.

93.6. Поле TProperty.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Position (Позиция)
.

93.7. Поле TProperty.FReadMember (Член класса для чтения)
FReadMember: TReadMember domain (Член класса для чтения) .

Используется для хранения значений свойства TProperty.ReadMember (Член класса для чтения)
.

93.8. Поле TProperty.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Scope (Область видимости)
.

93.9. Поле TProperty.FWriteMember (Член класса для записи)
FWriteMember: TWriteMember domain (Член класса для записи) .

Используется для хранения значений свойства TProperty.WriteMember (Член класса для записи)
.

93.10. Процедура TProperty.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

93.11. Процедура TProperty.CreateChildren (Создать дочерние свойства)

93.12. Свойство TProperty.Category (Категория)
Category: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TProperty.FCategory (Категория) .

93.13. Свойство TProperty.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FDomain (Домен) .

93.14. Свойство TProperty.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

93.15. Свойство TProperty.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

93.16. Свойство TProperty.IsExportable (Для экспорта)
IsExportable: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FIsExportable (Эскпортируется) .

93.17. Свойство TProperty.IsSuspended (Отложенное)
IsSuspended: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FIsSuspended (Отложенное) .

93.18. Свойство TProperty.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FPosition (Позиция) .

93.19. Свойство TProperty.ReadMember (Член класса для чтения)
ReadMember: TReadMember domain (Член класса для чтения) .

Для чтения и записи свойства используется поле TProperty.FReadMember (Член класса для чтения) .

93.20. Свойство TProperty.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FScope (Область видимости) .

93.21. Свойство TProperty.WriteMember (Член класса для записи)
WriteMember: TWriteMember domain (Член класса для записи) .

Для чтения и записи свойства используется поле TProperty.FWriteMember (Член класса для записи) .

93.22. Функция TProperty.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Используется для инициализации значения параметра Position (Позиция) подпрограммы TProperty.Create (Конструктор свойства)
.

94. Класс TPropertyBan (Запрет на свойство)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

94.1. Конструктор TPropertyBan.Create (Конструктор запрета на свойство)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |
BannedProperty (Запрещаемое свойство) | TBannedProperty domain (Свойство для запрета) |  | Доступен |
AllowRead (Чтение разрешено) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TPropertyBan (Запрет на свойство) .

94.2. Поле TPropertyBan.FAllowRead (Чтение разрешено)
FAllowRead: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.AllowRead (Чтение разрешено)
.

94.3. Поле TPropertyBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.BannedClass (Запрещаемый класс)
.

94.4. Поле TPropertyBan.FBannedProperty (Запрещенное свойство)
FBannedProperty: TBannedProperty domain (Свойство для запрета) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.BannedProperty (Запрещаемое свойство)
.

94.5. Свойство TPropertyBan.AllowRead (Чтение разрешено)
AllowRead: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TPropertyBan.FAllowRead (Чтение разрешено) .

94.6. Свойство TPropertyBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TPropertyBan.FBannedClass (Запрещенный класс) .

94.7. Свойство TPropertyBan.BannedProperty (Запрещаемое свойство)
BannedProperty: TBannedProperty domain (Свойство для запрета) (обязательно для заполнения) .

Для чтения значения свойства используется поле TPropertyBan.FBannedProperty (Запрещенное свойство) .

95. Класс TRole (Роли)
Унаследован от класса TSecurityAccount (Роли безопасности) . Объекты могут включать в себя объекты классов:
  • TRoleMember (Пользователи в ролях)

95.1. Конструктор TRole.Create (Конструктор роли)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TRole (Роли) .

95.2. Свойство TRole.IsCurrent (Является текущей)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TRole.GetIsCurrent (Является текущей) .

95.3. Функция TRole.GetIsCurrent (Является текущей)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TRole.IsCurrent (Является текущей)
.

96. Класс TRoleMember (Пользователи в ролях)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TRole (Роли) .

96.1. Конструктор TRoleMember.Create (Конструктор члена роли)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Роль) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
User (Пользователь) | TUser required domain (Пользователь) |  | Доступен | User (Пользователь)
IsPrimary (Основная роль) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TRoleMember (Пользователи в ролях) .

96.2. Поле TRoleMember.FIsPrimary (Основная роль)
FIsPrimary: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoleMember.IsPrimary (Основная роль)
.

96.3. Поле TRoleMember.FUser (Пользователь)
FUser: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TRoleMember.User (Пользователь)
.

96.4. Процедура TRoleMember.SetIsPrimary (Установка значения свойства "Является основной")

96.5. Свойство TRoleMember.IsPrimary (Основная роль)
IsPrimary: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoleMember.FIsPrimary (Основная роль) .

96.6. Свойство TRoleMember.User (Пользователь)
User: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoleMember.FUser (Пользователь) .

96.7. Свойство TRoleMember.UserClass (Класс члена роли)

97. Класс TRoutine (Подпрограмма)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) . Объекты могут включать в себя объекты классов:
  • TParameter (Параметры)

97.1. Конструктор TRoutine.Create (Конструктор подпрограммы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) |  | Доступен |
Domain (Домен результата) | TDomain domain (Домен) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) |  | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) |  | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) |  | Доступен |
Image (Изображение-иконка) | TImage (Изображение) |  | Доступен |

Конструирует объект класса TRoutine (Подпрограмма) .

97.2. Поле TRoutine.FConfirmation (Текст подтверждения)
FConfirmation: TCaption (Заголовки) .

Используется для хранения значений свойства TRoutine.Confirmation (Текст подтверждения)
.

97.3. Поле TRoutine.FDomain (Домен результата)
FDomain: TDomain domain (Домен) .

Используется для хранения значений свойства TRoutine.Domain (Домен результата)
.

97.4. Поле TRoutine.FImage (Изображеие-иконка)
FImage: TImage (Изображение) .

Используется для хранения значений свойства TRoutine.Image (Изображение-иконка)
.

97.5. Поле TRoutine.FIsClassMethod (Является методом класса)
FIsClassMethod: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.IsClassMethod (Является методом класса)
.

97.6. Поле TRoutine.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.Scope (Область видимости)
.

97.7. Поле TRoutine.FScript (Скрипт формы)
FScript: TRoutineScript (Скрипты форм параметров) .

Используется для хранения значений свойства TRoutine.Script (Скрипт формы параметров)
.

97.8. Поле TRoutine.FUseTabs (Использовать закладки)
FUseTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.UseTabs (Использовать закладки)
.

97.9. Свойство TRoutine.Confirmation (Текст подтверждения)
Confirmation: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TRoutine.FConfirmation (Текст подтверждения) .

97.10. Свойство TRoutine.Domain (Домен результата)
Domain: TDomain domain (Домен) .

Для чтения и записи свойства используется поле TRoutine.FDomain (Домен результата) .

97.11. Свойство TRoutine.Image (Изображение-иконка)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TRoutine.FImage (Изображеие-иконка) .

97.12. Свойство TRoutine.IsClassMethod (Является методом класса)
IsClassMethod: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FIsClassMethod (Является методом класса) .

97.13. Свойство TRoutine.ParamCount (Количество параметров)
ParamCount: Integer (Целое) .

Для чтения значения свойства используется функция TRoutine.GetParamCount (Количество параметров) .

97.14. Свойство TRoutine.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FScope (Область видимости) .

97.15. Свойство TRoutine.Script (Скрипт формы параметров)
Script: TRoutineScript (Скрипты форм параметров) .

Для чтения и записи свойства используется поле TRoutine.FScript (Скрипт формы) .

97.16. Свойство TRoutine.UseTabs (Использовать закладки)
UseTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FUseTabs (Использовать закладки) .

97.17. Функция TRoutine.GetParamCount (Количество параметров)

Возвращает значение типа Integer (Целое) .

Используется для вычисления значений свойства TRoutine.ParamCount (Количество параметров)
.

98. Класс TRoutineAction (Программируемое действие)
Унаследован от класса TAction (Действия) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

98.1. Конструктор TRoutineAction.Create (Конструктор программируемого действия)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) | Унаследован | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) | Унаследован | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) | Унаследован | Доступен |
Routine (Реализовано посредством ) | TActionRoutine required domain (Метод действия) |  | Доступен |

Конструирует объект класса TRoutineAction (Программируемое действие) .

98.2. Поле TRoutineAction.FRoutine (Подпрограмма)
FRoutine: TActionRoutine required domain (Метод действия) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineAction.Routine (Подпрограмма)
.

98.3. Свойство TRoutineAction.Routine (Подпрограмма)
Routine: TActionRoutine required domain (Метод действия) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutineAction.FRoutine (Подпрограмма) .

99. Класс TRoutineBan (Запрет на подпрограмму)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

99.1. Конструктор TRoutineBan.Create (Конструктор запрета на подпрограмму)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |
BannedRoutine (Запрещаемая подпрограмма) | TBannedRoutine domain (Подпрограмма для запрета) |  | Доступен |

Конструирует объект класса TRoutineBan (Запрет на подпрограмму) .

99.2. Поле TRoutineBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineBan.BannedClass (Запрещаемый класс)
.

99.3. Поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма)
FBannedRoutine: TBannedRoutine domain (Подпрограмма для запрета) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)
.

99.4. Свойство TRoutineBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TRoutineBan.FBannedClass (Запрещенный класс) .

99.5. Свойство TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)
BannedRoutine: TBannedRoutine domain (Подпрограмма для запрета) (обязательно для заполнения) .

Для чтения значения свойства используется поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма) .

100. Класс TSecurityAccount (Роли безопасности)
Унаследован от класса TObject (Объекты) .

101. Класс TStringDomain (Строковые)
Унаследован от класса TDomain (Домены) .

101.1. Конструктор TStringDomain.Create (Конструктор строкового домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) |  | Доступен |

Конструирует объект класса TStringDomain (Строковые) .

101.2. Поле TStringDomain.FLength (Максимальная длина)
FLength: TLength (Длина) (обязательно для заполнения) .

Используется для хранения значений свойства TStringDomain.Length (Длина)
.

101.3. Свойство TStringDomain.Length (Длина)
Length: TLength (Длина) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TStringDomain.FLength (Максимальная длина) .

102. Класс TTimeDomain (Время)
Унаследован от класса TDomain (Домены) .

102.1. Конструктор TTimeDomain.Create (Конструктор домена времени)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TTimeDomain (Время) .

103. Класс TUser (Пользователи)
Унаследован от класса TSecurityAccount (Роли безопасности) .

103.1. Конструктор TUser.Create (Конструктор пользователя)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TUser (Пользователи) .

103.2. Поле TUser.FAccessMode (Режим доступа)

103.3. Свойство TUser.AccessMode (Режим доступа)

103.4. Свойство TUser.IsCurrent (Является текущим)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

103.5. Функция TUser.GetIsCurrent (Является текущим)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойств:
TUser.IsCurrent (Является текущим)
TOptionValue.IsCurrent (Является текущим)
TInstantMessage.IsCurrent (Текущему пользователю)
.

104. Класс TView (Представления)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TAction (Действия)
  • TViewColumn (Колонки представлений)
  • TRoutineAction (Программируемое действие)
  • TViewAction (Действие-представление)

104.1. Конструктор TView.Create (Конструктор представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
ShownClass (Класс) | TClass required domain (Класс (обязательно)) |  | Доступен |
ColorProperty (Свойство цвета) | TColorProperty domain (Домен свойства цвета) |  | Доступен |
Collapsed (Свернуто) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TView (Представления) .

104.2. Поле TView.FCollapsed (Свернуто)
FCollapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TView.Collapsed (Свернуть)
TFormView.Collapsed (Узлы свернуты)
.

104.3. Поле TView.FColorProperty (Свойство цвета)
FColorProperty: TColorProperty domain (Домен свойства цвета) .

Используется для хранения значений свойств:
TView.ColorProperty (Свойство цвета)
TFormView.ColorProperty (Свойство-цвет)
.

104.4. Поле TView.FShownClass (Класс для показа)
FShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TView.ShownClass (Класс)
TFormView.ShownClass (Показываемый класс)
TViewAction.ShownClass (Показываемый класс)
.

104.5. Процедура TView.BuildDefaultActions (Создать действия по умолчанию)

104.6. Процедура TView.BuildDefaultColumns (Создать колонки по умолчанию)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ParentProperty (Родительское свойство) | TColumnProperty domain (Свойство колонки) |  | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ParentProperty (Родительское свойство) | TColumnProperty domain (Свойство колонки) |  | Скрыт |

104.7. Свойство TView.Collapsed (Свернуть)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FCollapsed (Свернуто) .

104.8. Свойство TView.ColorProperty (Свойство цвета)
ColorProperty: TColorProperty domain (Домен свойства цвета) .

Для чтения и записи свойства используется поле TView.FColorProperty (Свойство цвета) .

104.9. Свойство TView.ShownClass (Класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FShownClass (Класс для показа) .

104.10. Свойство TView.ShownClassMasterClass (Класс-мастер показываемого)
ShownClassMasterClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TClass.FMasterClass (Класс-мастер) .

Дочернее свойство свойства ShownClass (Класс) .

104.11. Свойство TView.ShownClassReplicationStatus (Статус репликации класса)
ShownClassReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

Дочернее свойство свойства ShownClass (Класс) .

105. Класс TViewAction (Действие-представление)
Унаследован от класса TAction (Действия) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

105.1. Конструктор TViewAction.Create (Конструктор действия-представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) | Унаследован | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) | Унаследован | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) | Унаследован | Доступен |
View (Представление) | TView of FormView domain (Представление для формы) |  | Доступен |
MasterProperty (Свойство-главное) | TMasterProperty domain (Свойство-главное) |  | Доступен |
DetailProperty (Свойство-подчиненное) | TDetailProperty domain (Свойство-подчиненное) |  | Доступен |

Конструирует объект класса TViewAction (Действие-представление) .

105.2. Поле TViewAction.FDetailProperty (Свойство-подчиненное)
FDetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Используется для хранения значений свойства TViewAction.DetailProperty (Свойство-подчиненное)
.

105.3. Поле TViewAction.FMasterProperty (Свойство-главное)
FMasterProperty: TMasterProperty domain (Свойство-главное) .

Используется для хранения значений свойства TViewAction.MasterProperty (Свойство-главное)
.

105.4. Поле TViewAction.FView (Представление)
FView: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Используется для хранения значений свойства TViewAction.View (Представление)
.

105.5. Свойство TViewAction.DetailProperty (Свойство-подчиненное)
DetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Для чтения и записи свойства используется поле TViewAction.FDetailProperty (Свойство-подчиненное) .

105.6. Свойство TViewAction.MasterProperty (Свойство-главное)
MasterProperty: TMasterProperty domain (Свойство-главное) .

Для чтения и записи свойства используется поле TViewAction.FMasterProperty (Свойство-главное) .

105.7. Свойство TViewAction.ShownClass (Показываемый класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TView.FShownClass (Класс для показа) .

Дочернее свойство свойства View (Представление) .

105.8. Свойство TViewAction.View (Представление)
View: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewAction.FView (Представление) .

106. Класс TViewColumn (Колонки представлений)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TView (Представления) .

106.1. Конструктор TViewColumn.Create (Конструктор колонки представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Property (Свойство) | TColumnProperty domain (Свойство колонки) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Grouped (Группировать) | Boolean (Обычное логическое) |  | Доступен |
Aggregate (Агрегат) | TAggregateKind (Тип агрегата) |  | Доступен |
SortDirection (Направление сортировки) | TSortDirection (Направление сортировки) |  | Доступен |
Fixed (Зафиксирована) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TViewColumn (Колонки представлений) .

106.2. Поле TViewColumn.FAggregate (Агрегат)
FAggregate: TAggregateKind (Тип агрегата) .

Используется для хранения значений свойства TViewColumn.Aggregate (Агрегат)
.

106.3. Поле TViewColumn.FFilter (Фильтр)
FFilter: TCaption (Заголовки) .

Используется для хранения значений свойства TViewColumn.Filter (Фильтр)
.

106.4. Поле TViewColumn.FFixed (Зафиксирована)
FFixed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Fixed (Зафиксирована)
.

106.5. Поле TViewColumn.FForceReadOnly (Только для чтения)
FForceReadOnly: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.ForceReadOnly (Только для чтения)
.

106.6. Поле TViewColumn.FGrouped (Группировать)
FGrouped: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Grouped (Группировать)
.

106.7. Поле TViewColumn.FIsFilterHidden (Фильтр скрыт)

106.8. Поле TViewColumn.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Position (Позиция)
.

106.9. Поле TViewColumn.FProperty (Свойство)
FProperty: TColumnProperty domain (Свойство колонки) .

Используется для хранения значений свойства TViewColumn.Property (Свойство)
.

106.10. Поле TViewColumn.FSortDirection (Направление сортировки)
FSortDirection: TSortDirection (Направление сортировки) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.SortDirection (Направление сортировки)
.

106.11. Поле TViewColumn.FWidth (Ширина)
FWidth: TWidth (Ширина) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Width (Ширина)
.

106.12. Свойство TViewColumn.Aggregate (Агрегат)
Aggregate: TAggregateKind (Тип агрегата) .

Для чтения и записи свойства используется поле TViewColumn.FAggregate (Агрегат) .

106.13. Свойство TViewColumn.Filter (Фильтр)
Filter: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TViewColumn.FFilter (Фильтр) .

106.14. Свойство TViewColumn.Fixed (Зафиксирована)
Fixed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FFixed (Зафиксирована) .

106.15. Свойство TViewColumn.ForceReadOnly (Только для чтения)
ForceReadOnly: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FForceReadOnly (Только для чтения) .

106.16. Свойство TViewColumn.Grouped (Группировать)
Grouped: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FGrouped (Группировать) .

106.17. Свойство TViewColumn.IsFilterHidden (Фильтр скрыт)

106.18. Свойство TViewColumn.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FPosition (Позиция) .

106.19. Свойство TViewColumn.Property (Свойство)
Property: TColumnProperty domain (Свойство колонки) .

Для чтения и записи свойства используется поле TViewColumn.FProperty (Свойство) .

106.20. Свойство TViewColumn.SortDirection (Направление сортировки)
SortDirection: TSortDirection (Направление сортировки) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FSortDirection (Направление сортировки) .

106.21. Свойство TViewColumn.Width (Ширина)
Width: TWidth (Ширина) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FWidth (Ширина) .

106.22. Функция TViewColumn.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TViewColumn.Create (Конструктор колонки представления)
.

107. Класс TVisualGroup (Визуальные группы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты могут включать в себя объекты классов:
  • TVisualGroupItem (Элемент визуальной группы)
  • TVisualGroupForm (Форма визуальной граппы)
  • TVisualGroupAccess (Доступ к визуальным группам)
  • TVisualGroupRoutine (Подпрограмма визуальной группы)

107.1. Конструктор TVisualGroup.Create (Конструктор визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Image (Изображение) | TImage (Изображение) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Collapsed (Свернута) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TVisualGroup (Визуальные группы) .

107.2. Поле TVisualGroup.FCollapsed (Свернута)
FCollapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Collapsed (Свернута)
.

107.3. Поле TVisualGroup.FImage (Изображение)
FImage: TImage (Изображение) .

Используется для хранения значений свойства TVisualGroup.Image (Изображение)
.

107.4. Поле TVisualGroup.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Position (Позиция)
.

107.5. Поле TVisualGroup.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Scope (Область видимости)
.

107.6. Свойство TVisualGroup.Collapsed (Свернута)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FCollapsed (Свернута) .

107.7. Свойство TVisualGroup.Image (Изображение)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TVisualGroup.FImage (Изображение) .

107.8. Свойство TVisualGroup.IsAccessible (Доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TVisualGroup.GetIsAccessible (Доступна) .

107.9. Свойство TVisualGroup.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FPosition (Позиция) .

107.10. Свойство TVisualGroup.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FScope (Область видимости) .

107.11. Функция TVisualGroup.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TVisualGroup.IsAccessible (Доступна)
.

107.12. Функция TVisualGroup.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TVisualGroup.Create (Конструктор визуальной группы)
.

108. Класс TVisualGroupAccess (Доступ к визуальным группам)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

108.1. Конструктор TVisualGroupAccess.Create (Конструктор доступа к визуальной группе)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Группа доступа) | TVisualGroup required domain (Визуальная группа (обязательно)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TVisualGroupAccess (Доступ к визуальным группам) .

109. Класс TVisualGroupForm (Форма визуальной граппы)
Унаследован от класса TVisualGroupItem (Элемент визуальной группы) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

109.1. Конструктор TVisualGroupForm.Create (Конструктор формы визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) | Унаследован | Доступен |
Form (Форма) | TForm required domain (Форма (обязательно)) |  | Доступен |

Конструирует объект класса TVisualGroupForm (Форма визуальной граппы) .

109.2. Поле TVisualGroupForm.FForm (Форма)
FForm: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupForm.Form (Форма)
.

109.3. Свойство TVisualGroupForm.Form (Форма)
Form: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupForm.FForm (Форма) .

109.4. Свойство TVisualGroupForm.Image (Изображение)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TForm.FImage (Изображеие-иконка) .

Дочернее свойство свойства Form (Форма) .

110. Класс TVisualGroupItem (Элемент визуальной группы)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

110.1. Конструктор TVisualGroupItem.Create (Конструктор элемента визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) |  | Доступен |

Конструирует объект класса TVisualGroupItem (Элемент визуальной группы) .

110.2. Поле TVisualGroupItem.FComment (Комментарий)
FComment: TComment (Текстовый комментарий) .

Используется для хранения значений свойства TVisualGroupItem.Comment (Комментарий)
.

110.3. Поле TVisualGroupItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupItem.Position (Позиция)
.

110.4. Свойство TVisualGroupItem.Comment (Комментарий)
Comment: TComment (Текстовый комментарий) .

Для чтения и записи свойства используется поле TVisualGroupItem.FComment (Комментарий) .

110.5. Свойство TVisualGroupItem.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupItem.FPosition (Позиция) .

110.6. Функция TVisualGroupItem.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TVisualGroupItem.Create (Конструктор элемента визуальной группы)
.

111. Класс TVisualGroupRoutine (Подпрограмма визуальной группы)
Унаследован от класса TVisualGroupItem (Элемент визуальной группы) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

111.1. Конструктор TVisualGroupRoutine.Create (Конструктор подпрограммы визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) | Унаследован | Доступен |
Routine (Подпрограмма) | TVisualGroup routine domain (Подпрограмма визуальной группы) |  | Доступен |

Конструирует объект класса TVisualGroupRoutine (Подпрограмма визуальной группы) .

111.2. Поле TVisualGroupRoutine.FRoutine (Подпрограмма)
FRoutine: TVisualGroup routine domain (Подпрограмма визуальной группы) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupRoutine.Routine (Подпрограмма)
.

111.3. Свойство TVisualGroupRoutine.Routine (Подпрограмма)
Routine: TVisualGroup routine domain (Подпрограмма визуальной группы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupRoutine.FRoutine (Подпрограмма) .

112. Класс TWordTemplate (Шаблоны отчетов Word)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

112.1. Конструктор TWordTemplate.Create (Конструктор шаблона Word)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TWordTemplateData (Данные Word-шаблона) |  | Доступен |
MacroName (Имя макроса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TWordTemplate (Шаблоны отчетов Word) .

112.2. Поле TWordTemplate.FMacroName (Имя макроса)
FMacroName: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TWordTemplate.MacroName (Имя макроса)
.

112.3. Поле TWordTemplate.FTemplateData (Данные шаблона)
FTemplateData: TWordTemplateData (Данные Word-шаблона) .

Используется для хранения значений свойства TWordTemplate.TemplateData (Данные шаблона)
.

112.4. Свойство TWordTemplate.MacroName (Имя макроса)
MacroName: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TWordTemplate.FMacroName (Имя макроса) .

112.5. Свойство TWordTemplate.TemplateData (Данные шаблона)
TemplateData: TWordTemplateData (Данные Word-шаблона) .

Для чтения и записи свойства используется поле TWordTemplate.FTemplateData (Данные шаблона) .

113. Класс TXSLTTemplate (Шаблоны отчетов XSLT)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

113.1. Конструктор TXSLTTemplate.Create (Конструктор шаблона xslt)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TXSLTTemplateData (Данные XSLT-шаблона) |  | Доступен |

Конструирует объект класса TXSLTTemplate (Шаблоны отчетов XSLT) .

113.2. Поле TXSLTTemplate.FTemplateData (Данные шаблона)
FTemplateData: TXSLTTemplateData (Данные XSLT-шаблона) .

Используется для хранения значений свойства TXSLTTemplate.TemplateData (Данные шаблона)
.

113.3. Свойство TXSLTTemplate.TemplateData (Данные шаблона)
TemplateData: TXSLTTemplateData (Данные XSLT-шаблона) .

Для чтения и записи свойства используется поле TXSLTTemplate.FTemplateData (Данные шаблона) .

114. Логический домен Boolean (Обычное логическое)
Значение обязательно для заполнения. Значение "истина" представляется строкой " Да ". Значение "ложь" представляется строкой " Нет ".

Используется в качестве простого признака, логического разряда.

115. Логический домен Non-required boolean (Необязательное логическое)
Значение "истина" представляется строкой " Да ". Значение "ложь" представляется строкой " Нет ".

Используется в качестве простого признака, логического разряда.

116. Перечисление TAggregateKind (Тип агрегата)
Допустимые значения:
  • agCount (Количество) - рассчитывается агрегат "Количество"
  • agSumm (Сумма) - рассчитывается агрегат "Сумма по колонке"
  • agMax (Максимальное значение) - рассчитывается агрегат "Максимальное значение по колонке"
  • agMin (Минимальное значение) - рассчитывается агрегат "Минимальное значение по колонке"
  • agAverage (Среднее значение) - рассчитывается агрегат "Среднее значение по колонке"

Определяет тип агрегации по колонке представления.

117. Перечисление TBlobSubtype (Подтип)
Значение обязательно для заполнения. Допустимые значения:
  • btText (Текст) - данные большого объекта представляют собой текст. Предположений о синтексисе текста не делается.
  • btBinaryData (Двоичные данные) - формат данных не интерпретируется системой.
  • btImage (Изображение) - данные содержат образ изображения в формате Windows Bitmap Storage (BMP).
  • btSourceCode (Исходный код) - данные являются исходным текстом на языке PascalScript.
  • btXML (XML-документ) - данные представляют собой xml-документ.
  • btNamedFile (Именованный файл) - данные представляют собой именованный файл. Имя файла также хранится в значении большого двоичного объекта.

Определяет формат значения большого двоичного объекта. Информация используется при попытке открыть значение для просмотра или редактирования.

118. Перечисление TChangeAction (Действие при изменении)
Значение обязательно для заполнения. Допустимые значения:
  • atCreated (Создан) - после создания объекта
  • atChanging (Изменится) - перед изменением объекта
  • atDestroying (Удаляется) - перед удалением объекта
  • atChanged (Изменен) - после изменения объекта

Значение соответствует изменяющему действию. Используется в процедурах изменения объекта.

119. Перечисление TDateTimePart (Часть даты или времени)
Значение обязательно для заполнения. Допустимые значения:
  • dpYear (Год)
  • dpMonth (Месяц)
  • dpDay (День)
  • dpHour (Час)
  • dpMinute (Минута)
  • dpSecond (Секунда)
  • dpDayOfWeek (День недели)

Значение описывает часть даты/времени

120. Перечисление TDeleteRule (Правило удаления)
Значение обязательно для заполнения. Допустимые значения:
  • drRestrict (Нет правила)
  • drCascade (Каскадное удаление)
  • drSetNull (Очистить ссылку)

Значение определяет действия, выполняемые системой при попытке удаления объекта.

121. Перечисление TExcelSheetKind (Тип листа Excel)
Значение обязательно для заполнения. Допустимые значения:
  • skNone (Не переносить данные на лист)
  • skFirst (На первый лист)
  • skFirstHidden (На певый скрытый лист)
  • skLast (На последний лист)
  • skNew (На новый лист)

Определяет лист для переноса данных при формировании отчета Microsoft Excel.

122. Перечисление TReplicationStatus (Статус репликации)
Значение обязательно для заполнения. Допустимые значения:
  • rsReplicatableMetadata (Вместе с метаданными)
  • rsReplicatable (Вместе с бизнес-данными)
  • rsNotReplicatable (Не реплицировать)

Определяет статус репликации объекта.

123. Перечисление TRowColor (Цвет строки таблицы)
Допустимые значения:
  • rcDefault (По умолчанию)
  • rcRed (Красная строка)
  • rcGreen (Зеленая строка)
  • rcBlue (Синяя строка)

Определяет цвет отображения строки в таблице.

124. Перечисление TScope (Область видимости)
Значение обязательно для заполнения. Допустимые значения:
  • scPublic (Видимо пользователям)
  • scPrivate (Не видимо пользователям)

Определяет область видимости элементов.

125. Перечисление TSecurityModel (Модели безопасности)
Значение обязательно для заполнения. Допустимые значения:
  • smFullAccess (Доступ не ограничен)
  • smPublic (Публичный объект)
  • smPrivate (Приватный объект)

Определяет модель безопасности, в соответствии с которой будет создан новый объект.

126. Перечисление TShowObjectInfoType (Тип представления объектов)
Значение обязательно для заполнения. Допустимые значения:
  • soName (Показывать имена)
  • soDescription (Показывать наименования)
  • soBoth (Показывать имена и наименования)

Описывает тип представления объектов, доступных по ссылке, в выпадающем списке и таблице.

127. Перечисление TSortDirection (Направление сортировки)
Значение обязательно для заполнения. Допустимые значения:
  • sdNone (Нет)
  • sdAscending (По возрастанию)
  • sdDescending (По убыванию)

Определяет направление сортировки по колонке представления.

128. Перечисление TUserAccessMode (Режим доступа)

129. Строковый домен Char (Символ)
Максимальная длина (в символах): 2.

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

130. Строковый домен TCaption (Заголовки)
Максимальная длина (в символах): 128.

Используется для представления заголовков элементов управления на экранных формах, например, закладок, групп, категорий свойств.

131. Строковый домен TExternalIndentifier (Внешний идентификатор)
Максимальная длина (в символах): 128.

Используется для идентификации объектов, внешних по отношению к системе, например, идентификторов классов OLE-объектов или макросов VBA.

132. Строковый домен TFileExtension (Расширение имени файла)
Максимальная длина (в символах): 10.

Служит для хранения расширения имени файла. Расширение имени может начинаться с точки. Значения ".xml" и "xml" функционально эквивалентны.

133. Строковый домен TGUID (Уникальные идентификаторы)
Значение обязательно для заполнения. Максимальная длина (в символах): 38.

Используется для хранения глобально-уникальных идентификаторов. Длина обусловлена традиционной формой представления идентификторов (GUID): "{ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ}" (без кавычек, с фигурными скобками), где Х - шестнадцатиричный разряд. Таким образом, глобально-уникальный идентификатор состоит из 16 байт.

Значение обязательно для заполнения.
Максимальная длина (в символах): 38.

134. Строковый домен TLongString (Длинная строка)
Максимальная длина (в символах): 2000.

Максимально длинная поддерживаемая строка. Используется для репрезентации "строки вообще" в строковых функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого строкового значения.

135. Строковый домен TObjectDescription (Наименования)
Значение обязательно для заполнения. Максимальная длина (в символах): 128.

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

136. Строковый домен TObjectName (Имена)
Значение обязательно для заполнения. Максимальная длина (в символах): 64.

Используется для хранения имен объектов. Каждый объект системы имеет обязательное имя. Имена объектов обязаны быть уникальными в пределах класса, родительского объекта (если есть) и инкапсулирующего объекта (если есть).

137. Строковый домен TOldID (Идентификаторы при создании)
Значение обязательно для заполнения. Максимальная длина (в символах): 38.

Используется для хранения идентификаторов объекта, полученного им при создании. Этот идентификатор сохраняется при репликации объекта в другую физическую базу данных. Длина обусловлена традиционной формой представления глобально-уникальных идентификторов (GUID): "{ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ}" (без кавычек, с фигурными скобками), где Х - шестнадцатиричный разряд.

Значение обязательно для заполнения.
Максимальная длина (в символах): 38.

138. Строковый домен TShortcut (Горячие клавиши)
Максимальная длина (в символах): 20.

Используется для задания горячих клавиш. Текст значения интерпретируется функцией Windows API GetKeyNameText. Примеры значений (без кавычек):

  • "Ins"
  • "Del"
  • "Ctrl+Ins"
  • "Ctrl+Alt+Ins"
  • "F12"
  • "F1"
  • "Ctrl+A"
  • "A"

139. Целочисленный домен Integer (Целое)

Используется для репрезентации "целого вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого целочисленного значения.

140. Целочисленный домен Percent (Процент)
Минимальное допустимое значение: 0 . Минимальное допустимое значение: 100 .

Используется для хранения целого количества процентов, для чего вводит ограничения на значение.

141. Целочисленный домен TLength (Длина)
Значение обязательно для заполнения. Минимальное допустимое значение: 1 .

Обозначет длину строки. Пустые строки системой не поддерживаются и интерпретируются как отстутсвие строкого значения (nil, null)

142. Целочисленный домен TPosition (Позиция)
Значение обязательно для заполнения. Минимальное допустимое значение: 0 .

Значение содержит позицию элемента в последовательности. Используется обычно для упорядочивания однородных элементов.

143. Целочисленный домен TPrescision (Точность)
Минимальное допустимое значение: 1 .

Используется для хранения точности представления вещественных чисел.

144. Целочисленный домен TWidth (Ширина)
Значение обязательно для заполнения. Минимальное допустимое значение: 0 .

Используется для хранения ширин экранных элементов (например, колонок)


Мельница данных ((раздел целиком))

Мельница данных- Методы (раздел целиком) (23.04.2022) (одним файлом)
Методы

1. Свойства документа

Для создания и описания свойств PDF-документа в библиотеке PDFCreator.dll используется класс IPDFDocument, обладающий следующими свойствами:

  • Title (WideString) - заголовок документа. По умолчанию - пустая строка.
    Title = "DOC1"
  • CanEmbedFonts (WordBool) - Признак возможности построения PDF- документа со встроенными шрифтами (Embedded Fonts). В случае включения признака, все объявленные в скрипте шрифты будут включены в сборку документа и будут передаваться целиком вместе с документом. По умолчанию - False.
    CanEmbedFonts = True

CanEmbedFonts = False
  • CanCompress (WordBool) - признак сжатия документа при создании по собственным алгоритмам. По умолчанию - True.
    CanCompress = False

CanCompress = True
  • Author (WideString) - автор документа. По умолчанию - текущий пользователь ОС.
  • Subject (WideString) - описание документа. По умолчанию - пустая строка.
  • Keywords (WideString) - ключевые слова для поиска по документу. По умолчанию - пустая строка.
  • Creator (WideString) - приложение-родитель документа. Указывается в том случае, если документ был сконвертирован из другого формата.
  • PageCount (Integer) - свойство, содержащее общее количество страниц в документе.
  • Pages[Index: Integer]: IPDFPage - свойство документа, предназначенное для перебора страниц документа для совершения над ними однотипных действий.

    Пример использования:

    for I = 0 to PageCount - 1
  Pages(I).rectangle 10,10,10,10, false
next
Save "c:\pdf.pdf"

    Результат: На всех страницах документа будут нарисованы квадраты 10х10 мм.
  • procedure Save(Target: OleVariant) - процедура для сохранения документа PDF на жесткий диск сразу после создания.
    Save "c:\pdf.pdf"
    - сохранит документ в файл c:\pdf.pdf

2. Свойства страницы

Для создания страницы используется функция

function CreatePage(Parent: OleVariant): IPDFPage;

Параметр Parent указывает страницу-родителя для данной страницы. Если страницы- родителя быть не должно - формат вызова функции примет вид:

set page = CreatePage(Null)

Параметры страницы:

  • Title - заголовок страницы.
    page.Title = "Page name"
  • Width - ширина страницы, миллиметры
    page.Width = 80
  • Height - высота страницы, миллиметры
    page.Height = 80
  • DrawGrid - процедура, выводящая на страницу сетку с шагом 5 миллиметров для удобства отладки вида документа.
  • Perform - процедура, позволяющая выполнить дополнительные команды PostScript на странице.
    page.perform "1 0.7 0 0 k"
    page.perform "0 0 m"

2.1. Объявление цвета

Для объявления цвета объектов на странице используется цветовая модель R:G:B (Red:Green:Blue). Объявление цвета для выполнения последующих операций (цвет шрифта, цвет линии/фигуры) осуществляется процедурой

procedure SetColor(R: Integer; G: Integer; B: Integer);
Где параметры R, G, B - значения базисных цветов для выбранного цвета (от 0 до 255).

Цвет | R | G | B |
Белый | 255 | 255 | 255 | +++
Черный | 0 | 0 | 0 | +++
Серый | 190 | 190 | 190 | +++
Синий | 0 | 0 | 255 | +++
Красный | 255 | 0 | 0 | +++
Зеленый | 0 | 255 | 0 | +++

Если предварительно цвет не был объявлен, используется цвет по умолчанию - черный (0,0,0)

3. Графика

3.1. Линии

Для отрисовки линий используется процедура

procedure Line(X1: Double; Y1: Double; X2: Double; Y2: Double);
Здесь:

  • X1 - координата начала линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y1 - координата начала линии по вертикали в миллиметрах от верхнего левого угла листа.
  • X2 - координата конца линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y2 - координата Конца линии по вертикали в миллиметрах от верхнего левого угла листа.

Для задания толщины линии используется свойство

property LineWidth: Double
Значение толщины задается в миллиметрах. Значение по умолчанию - минимально возможная единица рисования для устройства. Так для монитора - 1 pixel, для принтера - 1 dot (точка)

Для задания стиля отрисовки начала/окончания линии используется свойство property LineCap: TPDFLineCap
Возможные стили:
Значение свойства: | Отображение: | Описание:
0 | Линия 0 | Прямой срез точно по точкам начала и окончания линии (по умолчанию)
1 | Линия 1 | С закруглением
2 | Линия 2 | Прямой срез с продолжением линии на половину толщины линии

Объявление цвета линии.

Две линии разной толщины, с разными окончаниями и цветами:
set page = CreatePage(Null)

page.DrawGrid

page.LineCap = 1

page.LineWidth = 2

page.Line 10, 10, 30, 30

page.LineWidth = 4

page.SetColor 255, 0, 0

page.LineCap = 2

page.Line 10, 30, 30, 10."I

Результат:
2 линии

При необходимости соединения линий под углом в определенной точке можно задать тип соединения. Для объявления типа соединения используется свойство property LineJoin: TPDFLineJoin;
Типы соединения двух линий:
Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пунктир

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

Процедура procedure SetDash(DashArray: OleVariant; Phase: Integer); Здесь DashArray - массив значений в миллиметрах, указывающий последовательность чередования штрихов и пропусков на линии, Phase - смещение в миллиметрах по линии.

Пример 1. Штрих 10 мм, Промежуток 5 мм, Смещения нет
Пример 2. Штрих 10 мм, Промежуток 5 мм, Смещение 5 мм
Пример 3. Различные значения штрихов и промежутков, Смещения нет
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.SetDash Array(10, 5), 0

page.Line 10, 10, 100, 10

page.SetDash Array(10, 5), 5

page.Line 10, 20, 100, 20

page.SetDash Array(10, 5, 3, 2, 12, 20), 0

page.Line 10, 30, 100, 30

Результат:
Пунктир 1

Ломанная линия - здесь непрерывная линия, состоящая из нескольких прямых. Для отображения ломанной используется процедура procedure Poly(Points: OleVariant; Fill: WordBool), где Points - массив координат точек соединяемых прямыми, а Fill - признак заливки полученной замкнутой фигуры (если замкнута).

Пример Звезда без заливки
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), false

Результат:
Звезда
Пример Звезда с заливкой
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), true

Результат:
Звезда заливка

3.2. Прямоугольник

Rectangle (Прямоугольник) - для создания используется процедура:

procedure Rectangle(X1: Double; Y1: Double; Width: Double; Height: Double; Fill: WordBool);
Здесь:

  • X1 - координата верхнего левого угла прямоугольника по горизонтали в миллиметрах от верхнего левого угла листа шаблона.
  • Y1 - координата верхнего левого угла прямоугольника по вертикали в миллиметрах от верхнего левого угла листа шаблона.
  • Width - ширина прямоугольника с миллиметрах.
  • Height - высота прямоугольника с миллиметрах.
  • Fill - признак заливки прямоугольника (True/False). Если значение True то заливка производится объявленным заранее цветом (см. Объявление цвета). Если False - заливка не производится. Прямоугольник отрисовывается линиями с предварительно заданной толщиной. См. Линии
Пример 1. Создание красного прямоугольника:
set page = CreatePage(Null)

page.SetColor 255, 0, 0

page.Rectangle 10, 15, 40, 20, True

page.DrawGrid
Результат:
Прямоугольник
Пример 2. Пустой прямоугольник без задания цвета:
set page = CreatePage(Null)

page.DrawGrid

page.Rectangle 12, 17, 42, 25, false

page.DrawGrid

Результат:
Прямоугольник false

Также существует возможность изменения стиля отображения углов прямоугольника. Для этого нужно использовать свойство property LineJoin: TPDFLineJoin;

Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пример построения прямоугольников с различными типами соединения сторон:

set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 4

page.LineJoin = 0

page.Rectangle 10, 10, 20, 10, false

page.LineJoin = 1

page.Rectangle 40, 10, 20, 10, false

page.LineJoin = 2

page.Rectangle 70, 10, 20, 10, false

Результат:
3 прямоугольника

3.3. Вставка готовых изображений

Для вставки на создаваемую страницу готового изображения используется процедура procedure Image(const FileName: WideString; X: Double; Y: Double; Width: Double; Height: Double)

Параметры:

  • const FileName - имя файла изображения и путь к нему на жестком диске. Задается в кавычках.
  • X - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по горизонтали в миллиметрах
  • Y - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по вертикали в миллиметрах
  • Width - ширина изображения в миллиметрах
  • Height - высота изображения в миллиметрах.
set page = CreatePage(Null)
page.drawgrid
page.Image "c:\mill.bmp", 10,10, 30, 30

Результат:
Картинка

Вне зависимости от размера исходного изображения, при вставке изображения на создаваемую страницу оно будет растянуто по размерам, прописанным в процедуре.

3.4. Векторная графика

Язык PostScript, с помощью которого создаются векторные изображения для PDF-документа, поддерживает создание типичных примитивных объектов, таких как:

  • Прямые и ломанные линии
  • Многоугольники
  • Окружности и эллипсы
  • Кривые Безье
  • Текст

При создании векторного изображения на странице PDF-документа в приложениях Платформы, команды построения примитивных объектов PostScript передаются на исполнение при помощи процедуры Perform. Подробнее об операторах и командах PostScript для создания PDF-документов можно узнать на сайте Adobe

4. Шрифты

Шрифты, которые должны использоваться в создаваемом документе, должны быть предварительно объявлены. Для объявления используемых шрифтов используется функция
function CreateFont(const FontName: WideString; Size: Double; Bold: WordBool; Italic: WordBool): IPDFFont; где:

  • const FontName - имя шрифта, аналогичное имени объявляемого шрифта в операционной системе. В Функции объявляется в кавычках.
  • Size - размер шрифта в пунктах
  • Bold - признак начертания шрифта "жирный". Значения - True или False
  • Italic - признак начертания шрифта "курсив". Значения - True или False
Примеры объявления шрифтов:
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)

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

  • procedure WriteLine(const LineText: WideString; X: Double; Y: Double);
    - используется для вывода текстовой строки
  • function WriteText(const AText: WideString; X: Double; Y: Double; Width: Double; Alignment: TPDFTextAlignment): Double;
    - используется для вывода текстового блока.

Параметры для procedure WriteLine :

  • const LineText - текстовая строка для вывода. Прописывается в кавычках. Будет выведена на страницу одной строкой.
  • X - координата верхней левой точки текстовой строки по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстовой строки по вертикали в миллиметрах.
Примеры вывода текстов на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)
Font.WriteLine "Фамилия", 5, 2
Font.WriteLine "Имя", 5, 10
Font.WriteLine "Отчество", 5, 18
labelFont.WriteLine "Дата рождения", 5, 26
dataFont.WriteLine "Национальность", 5, 34

Результат:
Разные шрифты

Параметры для function WriteText :

  • const AText - текст для вывода на страницу. Прописывается в кавычках. Будет выведена на страницу в виде текстового блока.
  • X - координата верхней левой точки текстового блока по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстового блока по вертикали в миллиметрах.
  • Width - ширина текстового блока в миллиметрах
  • Alignment - тип выравнивания текста в текстовом блоке.
    Значение параметра | Тип выравнивания
    0 | По левому краю
    1 | По правому краю
    2 | По центру
    3 | Выравнивание по ширине
Примеры вывода текстовых блоков на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Times New Roman", 12, False, True)
set dataFont = page.createFont("Tahoma", 11, True, False)
Q = font.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 5, 100, 0)
Q = labelFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 35, 100, 1)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 55, 100, 2)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 80, 100, 3)

Результат:
Выравнивание

Свойства шрифтов:

property Spacing: Double; - свойство, отвечающее за величину промежутка между буквами в слове. Задается в виде отклонения от промежутка между буквами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Spacing = 0
labelFont.Spacing = 1
dataFont.Spacing = 2
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (1 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 15

Результат:
Промежуток букв

property WordSpacing: Double; - свойство, отвечающее за величину промежутка между соседними словами. Задается в виде отклонения от промежутка между словами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.WordSpacing = 0
labelFont.WordSpacing = 2
dataFont.WordSpacing = 5
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (5 мм)", 5, 15

Результат:
Промежуток слов

property Scaling: Double; - свойство, отвечающее за горизонтальное масштабирование букв используемого шрифта. Устанавливается в процентах. Горизонтальный масштаб по умолчанию - 100%.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Scaling = 50
labelFont.Scaling = 100
dataFont.Scaling = 200
font.WriteLine "Сжатие (50)", 5, 5
labelFont.WriteLine "По умолчанию (100)", 5, 10
dataFont.WriteLine "Растягивание (150)", 5, 15

Результат:
Scaling

property RenderingMode: TPDFFontRenderingMode; - свойство, отвечающее за заливку букв используемого шрифта.
Типы заливки:
Значение параметра: | Отображение: | Описание:
0 | Font Fill | Сплошная заливка (по умолчанию). Буква заливается сплошным цветом, объявленным на данный момент.
1 | Font Stroke | Только граница. Прорисовывается граница буквы. Тело остается незалитым.
2 | Font FillStroke | Сначала заливка, потом граница. Граница прорисовывается всегда черным цветом. Заливка осуществляется сплошным цветом, объявленным на данный момент.
3 | Inv | Невидимый шрифт.

Пример:
set page = CreatePage(Null)
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 20, False, False)
set dataFont = page.createFont("Arial", 20, False, False)
font.RenderingMode = 0
labelFont.RenderingMode = 1
dataFont.RenderingMode = 2
page.setColor 255, 0, 0
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 5, 15, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 5, 25, 50, 0)

Результат:
Заливка букв

property Rise: Double; - свойство, отвечающее за перемещение текста по вертикали.

set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 7, False, False)
set dataFont = page.createFont("Arial", 7, False, False)
labelFont.rise = -17
dataFont.rise = -2
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 44, 5, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 44, 5, 50, 0)

Результат:
Rise

Для определения размеров текстовой строки используется процедура MeasureLine(const LineText: WideString; out Width: OleVariant; out Height: OleVariant);

Здесь:

  • LineText - исходный текст для размещения на странице
  • Width - возвращаемый параметр ширины текстового блока на странице
  • Height - возвращаемый параметр высоты текстового блока на странице
S = "шифр"
font.MeasureLine S, W, H
Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2)

Здесь для текста "Шифр" замеряется ширина и высота получившегося текстового блока. Затем полученные данные используются для корректного размещения текста на странице.

Для определения высоты текстового блока используется функция MeasureText(const AText: WideString; Width: Double): Double; safecall;

Функция распределит текст по задаваемому значению ширины текстового блока и вернет значение высоты текстового блока в милиметрах.

Здесь:

  • AText - исходный текст для размещения на странице. Прописывается в кавычках.
  • Width - задаваемая ширина текстового блока на странице в милиметрах.
S = "Текст для размещения на странице..."
Q = font.MeasureText(S, 139)
Здесь для текста "Текст для размещения на странице..." замеряется высота получившегося текстового блока. Затем полученные данные могут использоваться для корректного размещения текста на странице.


Мельница данных ((раздел целиком))

Мельница данных- Класс TRoleMember (Пользователи в ролях) (раздел целиком) (23.04.2022) (одним файлом)
Класс TRoleMember (Пользователи в ролях)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TRole (Роли) .

1. Конструктор TRoleMember.Create (Конструктор члена роли)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Роль) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
User (Пользователь) | TUser required domain (Пользователь) |  | Доступен | User (Пользователь)
IsPrimary (Основная роль) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TRoleMember (Пользователи в ролях) .

2. Поле TRoleMember.FIsPrimary (Основная роль)
FIsPrimary: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoleMember.IsPrimary (Основная роль)
.

3. Поле TRoleMember.FUser (Пользователь)
FUser: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TRoleMember.User (Пользователь)
.

4. Процедура TRoleMember.SetIsPrimary (Установка значения свойства "Является основной")

5. Свойство TRoleMember.IsPrimary (Основная роль)
IsPrimary: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoleMember.FIsPrimary (Основная роль) .

6. Свойство TRoleMember.User (Пользователь)
User: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoleMember.FUser (Пользователь) .

7. Свойство TRoleMember.UserClass (Класс члена роли)


Мельница данных ((раздел целиком))

Мельница данных- Класс TObjectList (Списки) (раздел целиком) (23.04.2022) (одним файлом)
Класс TObjectList (Списки)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TObjectListItem (Элементы списков)

1. Конструктор TObjectList.Create (Конструктор списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TObjectList (Списки) .

2. Процедура TObjectList.Add (Добавить объект в список)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

3. Процедура TObjectList.Clear (Очистить список)

4. Процедура TObjectList.Delete (Удалить объект)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

5. Процедура TObjectList.Force (Добавить, игнорируя ограничения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

6. Процедура TObjectList.SetItem (Установить объект в списке)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

7. Функция TObjectList.ByName (Поиск по имени)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен |

8. Функция TObjectList.GetItem (Получить объект из списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |

9. Функция TObjectList.IndexOf (Индек объекта в списке)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

10. Функция TObjectList.Length (Длина списка)

Возвращает значение типа Integer (Целое) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TObject (Объекты) (раздел целиком) (23.04.2022) (одним файлом)
Класс TObject (Объекты)

1. Конструктор TObject.Create (Конструктор объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) |  | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) |  | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) |  | Скрыт |

Конструирует объект класса TObject (Объекты) .

2. Поле TObject.FClass (Класс)
FClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Class (Класс)
TOption.DomainClass (Класс домена)
TField.DomainClass (Класс домена)
TInlineExpression.DomainClass (Класс домена)
TProperty.DomainClass (Класс домена)
TParameter.DomainClass (Класс домена)
.

3. Поле TObject.FCreated (Создано)
FCreated: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Created (Создано)
.

4. Поле TObject.FCreator (Создано пользователем)
FCreator: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Creator (Создано пользователем)
.

5. Поле TObject.FDescription (Наименование)
FDescription: TObjectDescription (Наименования) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Description (Наименование)
TFormAccess.Description (Наименование)
TVisualGroupAccess.Description (Наименование)
TBanGroupAccess.Description (Наименование)
.

6. Поле TObject.FMaster (Мастер)
FMaster: TMaster field domain (Домен поля "Мастер") .

Используется для хранения значений свойств:
TObject.Master (Мастер)
TParameter.RoutineClass (Класс подпрограммы)
TOptionValue.Option (Настройка)
TInstantMessage.Form (Форма)
.

7. Поле TObject.FModified (Изменено)
FModified: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Modified (Изменено)
.

8. Поле TObject.FModifier (Изменено пользователем)
FModifier: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.Modifier (Изменено пользователем)
.

9. Поле TObject.FName (Имя)
FName: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Name (Имя)
TFormAccess.Name (Имя)
TVisualGroupAccess.Name (Имя)
TBanGroupAccess.Name (Имя)
.

10. Поле TObject.FOldID (Идентификатор при создании)
FOldID: TOldID (Идентификаторы при создании) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.OldID (Идентификатор при создании)
.

11. Поле TObject.FParent (Родитель)
FParent: TParent domain (Родитель объекта) .

Используется для хранения значений свойства TObject.Parent (Родитель)
.

12. Поле TObject.FReader (Роль для чтения)
FReader: TAccessor domain (Роли доступа) .

Используется для хранения значений свойства TObject.Reader (Роль для чтения)
.

13. Поле TObject.FSourceDataBase (База данных)
FSourceDataBase: TSourceDataBase required domain (База данных) (обязательно для заполнения) .

Используется для хранения значений свойства TObject.SourceDataBase (База данных-источник)
.

14. Поле TObject.FWriter (Роль для записи)
FWriter: TAccessor domain (Роли доступа) .

Используется для хранения значений свойства TObject.Writer (Роль для записи)
.

15. Процедура TObject.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) |  | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) |  | Скрыт |

16. Процедура TObject.Destroy (Деструктор объекта)

17. Процедура TObject.MergeTo (Отождествить с)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
PrimaryObject (Первичный объект) | TMergedObject domain (Объект для отождествления) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
PrimaryObject (Первичный объект) | TMergedObject domain (Объект для отождествления) |  | Доступен |

18. Процедура TObject.SendMessage (Отправить сообщение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
MessageText (Текст сообщения) | TObjectDescription (Наименования) |  | Доступен |
Broadcast (Всем пользователям) | Boolean (Обычное логическое) |  | Доступен |
Addressee (Адресат) | TSecurityAccount domain (Роль безопасности) |  | Доступен |
AttachSelected (Присоединить выбранные объекты) | Boolean (Обычное логическое) |  | Доступен |
Selected (Список выбранных объектов) | TList domain (Список объектов) |  | Скрыт | CurrentlySelected (Список выбранных)
CurrentFormView (Текущее представление формы) | TFormView domain (Представления форм) |  | Скрыт | CurrentFormView (Текущее представление формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
MessageText (Текст сообщения) | TObjectDescription (Наименования) |  | Доступен |
Broadcast (Всем пользователям) | Boolean (Обычное логическое) |  | Доступен |
Addressee (Адресат) | TSecurityAccount domain (Роль безопасности) |  | Доступен |
AttachSelected (Присоединить выбранные объекты) | Boolean (Обычное логическое) |  | Доступен |
Selected (Список выбранных объектов) | TList domain (Список объектов) |  | Скрыт | CurrentlySelected (Список выбранных)
CurrentFormView (Текущее представление формы) | TFormView domain (Представления форм) |  | Скрыт | CurrentFormView (Текущее представление формы)

19. Процедура TObject.Touch (Модификация объекта)

20. Псевдоподпрограмма TObject.Column (Колонка)

21. Псевдоподпрограмма TObject.Copy (Копировать)

22. Псевдоподпрограмма TObject.CurrentFormView (Текущее представление формы)
Является методом класса.

Возвращает значение типа TFormView domain (Представления форм) .

Используется для инициализации значения параметра CurrentFormView (Текущее представление формы) подпрограммы TObject.SendMessage (Отправить сообщение)
.

23. Псевдоподпрограмма TObject.CurrentlySelected (Список выбранных)
Является методом класса.

Возвращает значение типа TList domain (Список объектов) .

Используется для инициализации значения параметра Selected (Список выбранных объектов) подпрограммы TObject.SendMessage (Отправить сообщение)
.

24. Псевдоподпрограмма TObject.CurrentlyVisible (Список видимых)
Является методом класса.

Возвращает значение типа TList domain (Список объектов) .

25. Псевдоподпрограмма TObject.Edit columns (Редактировать колонки)

26. Псевдоподпрограмма TObject.Edit properties (Редактировать свойства)

27. Псевдоподпрограмма TObject.Export (Экспортировать)

28. Псевдоподпрограмма TObject.Merge (Объединить)

29. Псевдоподпрограмма TObject.Messages (Сообщения)
Является методом класса.

30. Псевдоподпрограмма TObject.Options (Настройки)
Является методом класса.

31. Псевдоподпрограмма TObject.Paste (Вставить)

32. Псевдоподпрограмма TObject.Refresh (Обновить)

33. Псевдоподпрограмма TObject.Selection (Выбранные)

34. Псевдоподпрограмма TObject.Tree (Дерево)

35. Свойство TObject.Class (Класс)
Class: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

36. Свойство TObject.Created (Создано)
Created: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FCreated (Создано) .

37. Свойство TObject.Creator (Создано пользователем)
Creator: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FCreator (Создано пользователем) .

38. Свойство TObject.Description (Наименование)
Description: TObjectDescription (Наименования) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TObject.FDescription (Наименование) .

39. Свойство TObject.Master (Мастер)
Master: TMaster domain (Объект (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

40. Свойство TObject.Modified (Изменено)
Modified: TimeStamp required (Момент (обязательный)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FModified (Изменено) .

41. Свойство TObject.Modifier (Изменено пользователем)
Modifier: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FModifier (Изменено пользователем) .

42. Свойство TObject.Name (Имя)
Name: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TObject.FName (Имя) .

43. Свойство TObject.OldID (Идентификатор при создании)
OldID: TOldID (Идентификаторы при создании) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FOldID (Идентификатор при создании) .

44. Свойство TObject.Parent (Родитель)
Parent: TParent domain (Родитель объекта) .

Для чтения и записи свойства используется поле TObject.FParent (Родитель) .

45. Свойство TObject.Reader (Роль для чтения)
Reader: TAccessor domain (Роли доступа) .

Для чтения и записи свойства используется поле TObject.FReader (Роль для чтения) .

46. Свойство TObject.ReplicationStatus (Статус репликации)
ReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

Дочернее свойство свойства Class (Класс) .

47. Свойство TObject.SourceDataBase (База данных-источник)
SourceDataBase: TSourceDataBase required domain (База данных) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FSourceDataBase (База данных) .

48. Свойство TObject.SourceDataBaseGUID (GUID базы даных-источника)
SourceDataBaseGUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FGUID (Идентификатор) .

Дочернее свойство свойства SourceDataBase (База данных-источник) .

49. Свойство TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
SourceDataBaseIsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FIsCurrent (Является текущей) .

Дочернее свойство свойства SourceDataBase (База данных-источник) .

50. Свойство TObject.Writer (Роль для записи)
Writer: TAccessor domain (Роли доступа) .

Для чтения и записи свойства используется поле TObject.FWriter (Роль для записи) .

51. Функция TObject.ASCII (ASCII-код)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Char (Символ) |  | Скрыт |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Char (Символ) |  | Скрыт |

52. Функция TObject.Assigned (Проверка пустоты значения)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TObject domain (Объект) |  | Доступен |

53. Функция TObject.Char (Символ)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

Возвращает значение типа Char (Символ) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

54. Функция TObject.Copy (Копировать)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |
StartPos (Позиция) | Integer (Целое) |  | Доступен |
Length (Длина) | Integer (Целое) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |
StartPos (Позиция) | Integer (Целое) |  | Доступен |
Length (Длина) | Integer (Целое) |  | Доступен |

55. Функция TObject.DatePart (Часть даты)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

56. Функция TObject.DateTimePart (Часть даты со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp (Момент) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp (Момент) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

57. Функция TObject.DateTimeToStr (Дату и время в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp required (Момент (обязательный)) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp required (Момент (обязательный)) |  | Доступен |

58. Функция TObject.DateToStr (Дату в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |

59. Функция TObject.DependsOn (Зависит от)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
LeadingObject (Ведущий объект) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
LeadingObject (Ведущий объект) | TObject domain (Объект) |  | Доступен |

60. Функция TObject.Find (Поиск объекта)

61. Функция TObject.FloatToStr (Вещественное в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |

62. Функция TObject.GetLevel (Уровень в иерархии)

Возвращает значение типа TLength (Длина) .

63. Функция TObject.GetRoot (Получить корень иерархии)

Возвращает значение типа TObject domain (Объект) .

64. Функция TObject.HasAsChild (Объект является ребенком данного)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Child (Дочерний объект) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Child (Дочерний объект) | TObject domain (Объект) |  | Доступен |

65. Функция TObject.HasAsParent (Объект является родителем данного)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

66. Функция TObject.IfThenDate (Выбор из двух дат)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TDate (Дата) |  | Доступен |
AFalse (Значение при невыполнении условия) | TDate (Дата) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TDate (Дата) |  | Доступен |
AFalse (Значение при невыполнении условия) | TDate (Дата) |  | Доступен |

67. Функция TObject.IfThenDateTime (Выбор из двух дат со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TimeStamp (Момент) |  | Доступен |
AFalse (Значение при невыполнении условия) | TimeStamp (Момент) |  | Доступен |

Возвращает значение типа TimeStamp (Момент) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TimeStamp (Момент) |  | Доступен |
AFalse (Значение при невыполнении условия) | TimeStamp (Момент) |  | Доступен |

68. Функция TObject.IfThenFloat (Выбор из двух вещественных)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Float (Вещественное) |  | Доступен |
AFalse (Значение при невыполнении условия) | Float (Вещественное) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Float (Вещественное) |  | Доступен |
AFalse (Значение при невыполнении условия) | Float (Вещественное) |  | Доступен |

69. Функция TObject.IfThenInt (Выбор из двух целых)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Integer (Целое) |  | Доступен |
AFalse (Значение при невыполнении условия) | Integer (Целое) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Integer (Целое) |  | Доступен |
AFalse (Значение при невыполнении условия) | Integer (Целое) |  | Доступен |

70. Функция TObject.IfThenObject (Выбор из двух объектов)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TObject domain (Объект) |  | Доступен |
AFalse (Значение при невыполнении условия) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TObject domain (Объект) |  | Доступен |
AFalse (Значение при невыполнении условия) | TObject domain (Объект) |  | Доступен |

71. Функция TObject.IfThenStr (Выбор из двух строк)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TLongString (Длинная строка) |  | Доступен |
AFalse (Значение при невыполнении условия) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TLongString (Длинная строка) |  | Доступен |
AFalse (Значение при невыполнении условия) | TLongString (Длинная строка) |  | Доступен |

72. Функция TObject.IfThenTime (Выбор из двух времен)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TTime (Время) |  | Доступен |
AFalse (Значение при невыполнении условия) | TTime (Время) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TTime (Время) |  | Доступен |
AFalse (Значение при невыполнении условия) | TTime (Время) |  | Доступен |

73. Функция TObject.IntToStr (Целое в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

74. Функция TObject.IsInstanceOf (Является экземпляром класса)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Class (Класс) | TClass domain (Класс) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Class (Класс) | TClass domain (Класс) |  | Доступен |

75. Функция TObject.Round (Округление)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |
Decimals (Клоичество десятичных знаков) | Integer (Целое) |  | Скрыт |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |
Decimals (Клоичество десятичных знаков) | Integer (Целое) |  | Скрыт |

76. Функция TObject.StrLength (Длина строки)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |

77. Функция TObject.StrToDate (Строку в дату)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

78. Функция TObject.StrToDateTime (Строку в дату и время)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TimeStamp required (Момент (обязательный)) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

79. Функция TObject.StrToFloat (Строку в вещественное)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

80. Функция TObject.StrToInt (Строку в целое)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

81. Функция TObject.StrToTime (Строку во время)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

82. Функция TObject.TimePart (Часть времени)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

83. Функция TObject.TimeToStr (Время в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Скрыт |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Скрыт |

84. Функция TObject.Trunc (Отсечение дробной части)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Доступен |

85. Функция TObject.UniqueValue (Уникальный идентификатор)
Является методом класса.

Возвращает значение типа TObjectName (Имена) .

86. Шаблон отчета Excel TObject.Excel (Пустой шаблон Excel)
Является методом класса.

87. Шаблон отчета XSLT TObject.ObjectInformation (Информация об объекте)


Мельница данных ((раздел целиком))

Мельница данных- Класс TProperty (Свойства) (раздел целиком) (23.04.2022) (одним файлом)
Класс TProperty (Свойства)
Унаследован от класса TClassMember (Члены класса) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TClass (Классы) .

1. Конструктор TProperty.Create (Конструктор свойства)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
ReadMember (Член класса для чтения) | TReadMember domain (Член класса для чтения) |  | Доступен |
WriteMember (Член класса для записи) | TWriteMember domain (Член класса для записи) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
IsExportable (Для экспорта) | Boolean (Обычное логическое) |  | Доступен |
Category (Категория) | TCaption (Заголовки) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
IsSuspended (Отложенное) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TProperty (Свойства) .

2. Поле TProperty.FCategory (Категория)
FCategory: TCaption (Заголовки) .

Используется для хранения значений свойства TProperty.Category (Категория)
.

3. Поле TProperty.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Domain (Домен)
.

4. Поле TProperty.FIsExportable (Эскпортируется)
FIsExportable: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.IsExportable (Для экспорта)
.

5. Поле TProperty.FIsSuspended (Отложенное)
FIsSuspended: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.IsSuspended (Отложенное)
.

6. Поле TProperty.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Position (Позиция)
.

7. Поле TProperty.FReadMember (Член класса для чтения)
FReadMember: TReadMember domain (Член класса для чтения) .

Используется для хранения значений свойства TProperty.ReadMember (Член класса для чтения)
.

8. Поле TProperty.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Scope (Область видимости)
.

9. Поле TProperty.FWriteMember (Член класса для записи)
FWriteMember: TWriteMember domain (Член класса для записи) .

Используется для хранения значений свойства TProperty.WriteMember (Член класса для записи)
.

10. Процедура TProperty.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

11. Процедура TProperty.CreateChildren (Создать дочерние свойства)

12. Свойство TProperty.Category (Категория)
Category: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TProperty.FCategory (Категория) .

13. Свойство TProperty.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FDomain (Домен) .

14. Свойство TProperty.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

15. Свойство TProperty.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

16. Свойство TProperty.IsExportable (Для экспорта)
IsExportable: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FIsExportable (Эскпортируется) .

17. Свойство TProperty.IsSuspended (Отложенное)
IsSuspended: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FIsSuspended (Отложенное) .

18. Свойство TProperty.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FPosition (Позиция) .

19. Свойство TProperty.ReadMember (Член класса для чтения)
ReadMember: TReadMember domain (Член класса для чтения) .

Для чтения и записи свойства используется поле TProperty.FReadMember (Член класса для чтения) .

20. Свойство TProperty.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FScope (Область видимости) .

21. Свойство TProperty.WriteMember (Член класса для записи)
WriteMember: TWriteMember domain (Член класса для записи) .

Для чтения и записи свойства используется поле TProperty.FWriteMember (Член класса для записи) .

22. Функция TProperty.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Используется для инициализации значения параметра Position (Позиция) подпрограммы TProperty.Create (Конструктор свойства)
.


Мельница данных ((раздел целиком))

Мельница данных- Класс TIntegerDomain (Целые числа) (раздел целиком) (23.04.2022) (одним файлом)
Класс TIntegerDomain (Целые числа)
Унаследован от класса TDomain (Домены) .

1. Конструктор TIntegerDomain.Create (Конструктор целочисленного домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
MinValue (Минимальное значение) | Integer (Целое) |  | Доступен |
MaxValue (Максимальное значение) | Integer (Целое) |  | Доступен |

Конструирует объект класса TIntegerDomain (Целые числа) .

2. Поле TIntegerDomain.FMaxValue (Максимальное значение)
FMaxValue: Integer (Целое) .

Используется для хранения значений свойства TIntegerDomain.MaxValue (Максимальное значение)
.

3. Поле TIntegerDomain.FMinValue (Минимальное значение)
FMinValue: Integer (Целое) .

Используется для хранения значений свойства TIntegerDomain.MinValue (Минимальное значение)
.

4. Свойство TIntegerDomain.MaxValue (Максимальное значение)
MaxValue: Integer (Целое) .

Для чтения и записи свойства используется поле TIntegerDomain.FMaxValue (Максимальное значение) .

5. Свойство TIntegerDomain.MinValue (Минимальное значение)
MinValue: Integer (Целое) .

Для чтения и записи свойства используется поле TIntegerDomain.FMinValue (Минимальное значение) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TFormAccess (Доступ к формам) (раздел целиком) (23.04.2022) (одним файлом)
Класс TFormAccess (Доступ к формам)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TForm (Формы) .

1. Конструктор TFormAccess.Create (Конструктор доступа к форме)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Форма) | TForm required domain (Форма (обязательно)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TFormAccess (Доступ к формам) .


Мельница данных ((раздел целиком))

Мельница данных- Графика (раздел целиком) (23.04.2022) (одним файлом)
Графика

1. Линии

Для отрисовки линий используется процедура

procedure Line(X1: Double; Y1: Double; X2: Double; Y2: Double);
Здесь:

  • X1 - координата начала линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y1 - координата начала линии по вертикали в миллиметрах от верхнего левого угла листа.
  • X2 - координата конца линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y2 - координата Конца линии по вертикали в миллиметрах от верхнего левого угла листа.

Для задания толщины линии используется свойство

property LineWidth: Double
Значение толщины задается в миллиметрах. Значение по умолчанию - минимально возможная единица рисования для устройства. Так для монитора - 1 pixel, для принтера - 1 dot (точка)

Для задания стиля отрисовки начала/окончания линии используется свойство property LineCap: TPDFLineCap
Возможные стили:
Значение свойства: | Отображение: | Описание:
0 | Линия 0 | Прямой срез точно по точкам начала и окончания линии (по умолчанию)
1 | Линия 1 | С закруглением
2 | Линия 2 | Прямой срез с продолжением линии на половину толщины линии

Объявление цвета линии.

Две линии разной толщины, с разными окончаниями и цветами:
set page = CreatePage(Null)

page.DrawGrid

page.LineCap = 1

page.LineWidth = 2

page.Line 10, 10, 30, 30

page.LineWidth = 4

page.SetColor 255, 0, 0

page.LineCap = 2

page.Line 10, 30, 30, 10."I

Результат:
2 линии

При необходимости соединения линий под углом в определенной точке можно задать тип соединения. Для объявления типа соединения используется свойство property LineJoin: TPDFLineJoin;
Типы соединения двух линий:
Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пунктир

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

Процедура procedure SetDash(DashArray: OleVariant; Phase: Integer); Здесь DashArray - массив значений в миллиметрах, указывающий последовательность чередования штрихов и пропусков на линии, Phase - смещение в миллиметрах по линии.

Пример 1. Штрих 10 мм, Промежуток 5 мм, Смещения нет
Пример 2. Штрих 10 мм, Промежуток 5 мм, Смещение 5 мм
Пример 3. Различные значения штрихов и промежутков, Смещения нет
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.SetDash Array(10, 5), 0

page.Line 10, 10, 100, 10

page.SetDash Array(10, 5), 5

page.Line 10, 20, 100, 20

page.SetDash Array(10, 5, 3, 2, 12, 20), 0

page.Line 10, 30, 100, 30

Результат:
Пунктир 1

Ломанная линия - здесь непрерывная линия, состоящая из нескольких прямых. Для отображения ломанной используется процедура procedure Poly(Points: OleVariant; Fill: WordBool), где Points - массив координат точек соединяемых прямыми, а Fill - признак заливки полученной замкнутой фигуры (если замкнута).

Пример Звезда без заливки
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), false

Результат:
Звезда
Пример Звезда с заливкой
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), true

Результат:
Звезда заливка

2. Прямоугольник

Rectangle (Прямоугольник) - для создания используется процедура:

procedure Rectangle(X1: Double; Y1: Double; Width: Double; Height: Double; Fill: WordBool);
Здесь:

  • X1 - координата верхнего левого угла прямоугольника по горизонтали в миллиметрах от верхнего левого угла листа шаблона.
  • Y1 - координата верхнего левого угла прямоугольника по вертикали в миллиметрах от верхнего левого угла листа шаблона.
  • Width - ширина прямоугольника с миллиметрах.
  • Height - высота прямоугольника с миллиметрах.
  • Fill - признак заливки прямоугольника (True/False). Если значение True то заливка производится объявленным заранее цветом (см. Объявление цвета). Если False - заливка не производится. Прямоугольник отрисовывается линиями с предварительно заданной толщиной. См. Линии
Пример 1. Создание красного прямоугольника:
set page = CreatePage(Null)

page.SetColor 255, 0, 0

page.Rectangle 10, 15, 40, 20, True

page.DrawGrid
Результат:
Прямоугольник
Пример 2. Пустой прямоугольник без задания цвета:
set page = CreatePage(Null)

page.DrawGrid

page.Rectangle 12, 17, 42, 25, false

page.DrawGrid

Результат:
Прямоугольник false

Также существует возможность изменения стиля отображения углов прямоугольника. Для этого нужно использовать свойство property LineJoin: TPDFLineJoin;

Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пример построения прямоугольников с различными типами соединения сторон:

set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 4

page.LineJoin = 0

page.Rectangle 10, 10, 20, 10, false

page.LineJoin = 1

page.Rectangle 40, 10, 20, 10, false

page.LineJoin = 2

page.Rectangle 70, 10, 20, 10, false

Результат:
3 прямоугольника

3. Вставка готовых изображений

Для вставки на создаваемую страницу готового изображения используется процедура procedure Image(const FileName: WideString; X: Double; Y: Double; Width: Double; Height: Double)

Параметры:

  • const FileName - имя файла изображения и путь к нему на жестком диске. Задается в кавычках.
  • X - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по горизонтали в миллиметрах
  • Y - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по вертикали в миллиметрах
  • Width - ширина изображения в миллиметрах
  • Height - высота изображения в миллиметрах.
set page = CreatePage(Null)
page.drawgrid
page.Image "c:\mill.bmp", 10,10, 30, 30

Результат:
Картинка

Вне зависимости от размера исходного изображения, при вставке изображения на создаваемую страницу оно будет растянуто по размерам, прописанным в процедуре.

4. Векторная графика

Язык PostScript, с помощью которого создаются векторные изображения для PDF-документа, поддерживает создание типичных примитивных объектов, таких как:

  • Прямые и ломанные линии
  • Многоугольники
  • Окружности и эллипсы
  • Кривые Безье
  • Текст

При создании векторного изображения на странице PDF-документа в приложениях Платформы, команды построения примитивных объектов PostScript передаются на исполнение при помощи процедуры Perform. Подробнее об операторах и командах PostScript для создания PDF-документов можно узнать на сайте Adobe


Мельница данных ((раздел целиком))

Мельница данных- Работа с формами и таблицами данных (раздел целиком) (23.04.2022) (одним файлом)
Работа с формами и таблицами данных

Для отображения записей об учитываемых в системе объектах используются формы с таблицами данных. Каждая форма представляет собой отдельное окно с заголовком, на котором отображается ее наименование. Основную часть окна формы занимают таблицы данных. Переключаться между доступными формами можно либо при помощи щелчка мышью по иконке, соответствующей форме на Панели инструментов, либо при щелчке мышью на самом окне формы (если форма видна). В каждый момент времени активной является одна из форм (или ни одной). Окно формы можно "перетаскивать" (здесь и далее "перетащить" объект означает подвести к нему указатель мыши, нажать левую кнопку, удерживая кнопку переместить объект на новое место, после чего отпустить кнопку мыши) по экрану за заголовок, изменять его размеры, минимизировать, восстановить, раскрывать на весь экран или закрывать. Эти действия осуществляются стандартным для среды Windows образом. При закрытии формы соответствующая ей иконка на панели инструментов будет отображена неактивной. При щелчке мышью по такой иконке форма откроется, и иконка станет активной.

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

1. Подчиненные таблицы данных и взаимное расположение главной и подчиненных таблиц

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

Например, на рисунке в главной таблице "Представительства" выбрано представительство ООО "Холод плюс". При этом в подчиненной таблице "Продажи представительства" отображаются только те продажи, которые осуществлены данным представительством.

Подчиненные таблицы могут располагаться двумя способами:

  • на закладках - в этом случае в нижней части главной таблицы отображаются закладки с наименованиями подчиненных таблиц; переключаться между подчиненными таблицами можно путем щелчка мышью по соответствующей закладке;
    Отображение подчиненных таблиц на закладках
  • в отдельных окнах - в этом случае каждая из подчиненных таблиц располагается в своем окне; окна имеют заголовки, соответствующие наименованиям таблиц; окна, в которых отображаются подчиненные таблицы, можно перетаскивать за заголовок в любое другое место экрана, минимизировать, восстанавливать, закрывать и т.д.
    Отображение подчиненных представлений в отдельных окнах

Изменять соотношение размера главной и подчиненных таблиц можно путем перетаскивания горизонтального разделителя мышью. Для этого необходимо подвести указатель мыши к границе раздела зон главной и подчиненных таблиц и когда курсор примет форму горизонтального разделителя ( Горизонтальный разделитель) перетащить разделитель выше или ниже. При отображении подчиненных таблиц в отдельных окнах можно изменять соотношение ширины подчиненных таблиц. Для этого нужно подвести указатель мыши к вертикальной границе таблиц и когда указатель примет форму вертикального разделителя ( Вертикальный разделитель), перетащить разделитель вправо или влево.

При отображении подчиненных таблиц на закладках занимаемая ими область также может быть минимизирована. Для этого необходимо подвести курсор к границе раздела зон главной и подчиненной таблиц и когда он примет форму горизонтального разделителя ( Горизонтальный разделитель) выполнить двойной щелчок мышью.

Минимизация зоны подчиненных таблиц

Восстановить отображение подчиненных таблиц можно либо путем нажатия кнопки "Восстановить" ( Кнопка восстановления размеров зоны подчиненных таблиц) в заголовке минимизированного окна, либо при помощи двойного щелчка мышью на этом заголовке.

2. Отображение учитываемых объектов в таблице данных

Таблица данных имеет строки и колонки. Строки таблицы (или записи) соответствуют учитываемым объектам. Колонки таблицы соответствуют свойствам объектов.

Макет таблицы данных

На рисунке представлен макет таблицы данных, в которой отображаются объекты, соответствующие сортам фруктового мороженого. Таблица данных имеет наименование "Сорта фруктового мороженого", которое отображается на соответствующей закладке (1). Таблица имеет пять строк (2), соответствующих пяти сортам фруктового мороженого. Выделенной в настоящее время является первая строка. Таблица имеет пять колонок, соответствующих свойствам учитываемых сортов мороженого. Каждая колонка имеет заголовок (4), отражающий отображаемое в этой колонке свойство. Активной в настоящее время является первая колонка. Активным элементом данных (3) является ячейка, расположенная в первой строке в первом столбце.

На рисунке активная строка и активный элемент данных выделяются оттенками синего цвета. Цвета, применяемые для выделения элементов данных, зависят от локальных настроек операционной системы Windows (стилей) на компьютере пользователя.

Под заголовком каждой колонки расположена строка фильтра (5). При помощи ввода в этой строке условия отбора или выбора значений из выпадающего списка можно осуществлять фильтрацию отображаемых в таблице данных.

Если отображаемые данные не помещаются в окно по ширине, то активной становится горизонтальная полоса прокрутки (7). С ее помощью можно пролистывать колонки таблицы вправо и влево. Если данные не помещаются в окно по вертикали, то активной становится вертикальная полоса прокрутки (8). С ее помощью можно пролистывать записи об объектах вверх и вниз. При щелчке правой кнопкой мыши на полосе прокрутки (если она активна) доступны действия по быстрой прокрутке содержимого таблицы.

При щелчке правой кнопкой мыши в области таблицы данных отображается контекстное меню. Контекстное меню отображает список действий, доступных над объектами, отображаемыми в таблице данных. Вызываемые действия выполняются для тех объектов, которые являются выделенными в таблице данных. Если ни одного объекта не выделено, некоторые действия контекстного меню могут быть недоступны. Набор действий, отображаемых в контекстном меню различен в разных таблицах данных.

  1. Заголовок закладки с именем таблицы данных.
  2. Выделенный объект.
  3. Выделенный элемент данных.
  4. Заголовок колонки.
  5. Строка фильтра.
  6. Флажок для выбора объектов.
  7. Горизонтальная полоса прокрутки.
  8. Вертикальная полоса прокрутки

2.1. Иерархические таблицы данных

Если отображаемые в таблице данные имеют иерархическую структуру (т.е. присутствует "вхождение" одних объектов в другие), то в таблице данных объекты могут отображаться в виде "дерева".

Иерархическая таблица данных

На рисунке представлена таблица данных, отображающая периоды обучения студентов. Эти данные имеют иерархическую структуру, которая отражает вхождение учебных модулей в состав семестров, а семестров в состав учебных годов. В первой колонке иерархической таблицы данных слева от элементов данных, имеющих подчиненные элементы, отображаются значки Свернутый узел дерева или Развернутый узел дерева. При щелчке мышью по значку Свернутый узел дерева отображаются подчиненные объекты. Значок Свернутый узел дерева при этом превращается в значок Развернутый узел дерева. При щелчке мышью по значку Развернутый узел дерева подчиненные объекты скрываются и значок Развернутый узел дерева превращается в Свернутый узел дерева. На рисунке для объектов "Учебный год 2005-2006" и его подчиненных объектов "I семестр" и "II семестр" подчиненные объекты отображены. Щелчком по значку Развернутый узел дерева подчиненные объекты можно скрыть. Для объектов "I семестр" и "II семестр" учебного года 2006-2007 подчиненные объекты скрыты. Щелчком по значку Свернутый узел дерева их можно отобразить. При горизонтальном пролистывании таблицы данных вправо или влево "дерево" объектов всегда отображается слева от самого левого столбца.

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

3. Выбор объектов в таблице данных

Выбор одного объекта в таблице данных может осуществляться либо щелчком мышью в соответствующей строке, либо при помощи стрелок ("вверх" и "вниз") на клавиатуре. Выбор активной колонки и активного элемента данных также может производиться щелчком мышью или при помощи стрелок ("вправо" и "влево") на клавиатуре.

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

При выборе нескольких объектов в главной таблице в подчиненной таблице будут отображены записи, соответствующие подчиненным объектам, отобранным для ВСЕХ объектов, выбранных в главной таблице.

Произвольный выбор объектов

На рисунке представлена таблица данных "Учащиеся", имеющая ряд подчиненных таблиц. На рисунке открыта подчиненная таблица "Родственники и контактные лица". В таблице данных "Учащиеся" путем установки флажка произвольным образом выбраны три учащихся с фамилиями Матвеева, Зимогляд и Анчевский. При этом в подчиненной таблице "Родственники и контактные лица" отображены родители всех троих учащихся.

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

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

  • для выделения нескольких объектов подряд можно щелкнуть мышью в любом месте записи, соответствующей первому объекту, а затем, удерживая клавишу Shift, щелкнуть по записи, соответствующей последнему объекту; все объекты между первым и последним, включая их, будут выделены;
  • осуществлять произвольный выбор объектов можно щелчком мышью в любом месте записи, удерживая клавишу Ctrl ;
  • можно воспользоваться действиями, доступными в подменю "Выбранные" на панели инструментов или в контекстном меню:
    • Выбрать все - все отображаемые в настоящий момент в таблице данных объекты будут выбраны;
    • Показать только выбранные - в таблице данных будут отображены только те объекты, которые помечены как выбранные; остальные объекты будут скрыты;
    • Показать все - если ранее было установлен отбор только выбранных объектов, этот отбор будет снят, и снова будут отображены все доступные в таблице объекты.

При выборе объектов изменяется информация, отображаемая Инспектором объектов. Если выбран один объект, то Инспектор объектов отображает и позволяет редактировать все доступные пользователю свойства этого объекта. Если выбрано несколько объектов, отображение и редактирование свойств Инспектором объектов происходит по правилам, описанным в разделе 5 "Работа с Инспектором объектов".

При выполнении действий над объектами выбранное действие будет выполнено для всех выбранных объектов. Если не выбрано ни одного объекта, некоторые действия могут быть недоступны.

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

4. Изменение порядка отображения колонок

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

Изменение порядка отображения колонок

На рисунке изображено перетаскивание заголовка колонки "Вид упаковки" в таблице данных "Сорта мороженого". После того, как кнопка мыши будет отпущена, колонка "Вид упаковки" станет третьей слева, а колонка "Число продаж" второй.

5. Скрытие и отображение колонок

Любая из видимых в таблице данных колонок может быть скрыта. Для этого необходимо выделить любой элемент данных в колонке, щелчком правой кнопкой мыши открыть контекстное меню и в нем в подменю "колонка" выбрать действие "Скрыть эту колонку".

На рисунке показано как скрыть колонку "Вид упаковки" в таблице данных "Сорта мороженого". Описанным выше образом можно скрыть любое число колонок таблицы данных кроме последней. Если в таблице данных осталась одна колонка, то действие "Скрыть эту колонку" будет недоступно. Для отображения скрытых ранее колонок таблицы данных необходимо воспользоваться действием "Показать скрытые колонки" в подменю "колонка" контекстного меню. (На рис. 12. действие располагается ниже действия "Скрыть эту колонку"). Если ни одной колонки таблицы данных не скрыто, то действие "Показать скрытые колонки" будет недоступно. Действия, расположенные в подменю "колонка" доступны также на панели инструментов.

6. Сортировка данных в таблицах

Отображаемые в таблице данные могут быть отсортированы по возрастанию или по убыванию значений свойств, отображаемых в одной или нескольких колонках. Для сортировки данных по одной колонке необходимо выполнить щелчок мышью не ее заголовке. Данные будут отсортированы по возрастанию значения в этой колонке. Если щелкнуть мышью по заголовку колонки еще раз, то данные будут отсортированы по убыванию значения в этой колонке. В заголовке конке появится стрелочка, отображающая порядок сортировки (направленная вверх в случае сортировки по возрастанию и вниз в случае сортировки по убыванию). Если выполнить щелчок мышью по заголовку другой колонки, то данные будут отсортированы по значению в новой колонке.

Сортировка данных по одной колонке

На рисунке данные в таблице данных "Учащиеся" отсортированы по значению в колонке "Фамилия" по возрастанию. В заголовке колонки "Фамилия" отображается направленная вверх стрелочка. Для сортировки данных по значениям в нескольких колонках необходимо выполнить щелчок мышью на заголовке первой колонки, затем, удерживая клавишу Ctrl, выполнить щелчок по заголовку второй колонки и т.д. При этом в заголовках колонок будут отображаться стрелочки, соответствующие направлению сортировки и цифры, соответствующие порядку колонок в сортировке.

Сортировка данных по нескольким колонкам

На рисунке представлен пример сортировки данных таблицы данных "Учащиеся" по региону (по возрастанию), затем по полу (по убыванию) и затем по фамилии (по возрастанию). В заголовках колонок отображены соответствующие стрелочки с цифрами 1, 2 и 3.

В иерархических таблицах данные сортируются в пределах каждого уровня иерархии.

Сортировка данных в иерархической таблице

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

7. Группировка данных в таблицах

Данные в таблице данных могут быть сгруппированы по значениям свойств, отображаемым в одной или в нескольких колонках.

Для осуществления группировки по значению в одной из колонок необходимо выделить любой элемент данных в этой колонке. Затем щелчком правой кнопки мыши открыть контекстное меню и в нем в подменю "колонка" выбрать действие "Группировать по этой колонке".

Осуществление группировки данных

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

При отображении данных в сгруппированном виде для каждой группы будет отображен заголовок на более темном фоне. В заголовке группы будут отображены наименование и значение свойства, по которому осуществлена группировка, а слева от наименования будет расположен значок Развернутый узел дерева или Свернутый узел дерева. При нажатии на значок Развернутый узел дерева можно скрывать объекты группы (для группы будет отображен только ее заголовок). Значок Развернутый узел дерева при этом изменится на Свернутый узел дерева. При нажатии на значок Свернутый узел дерева объекты, входящие в группу, будут снова отображены.

Отображение данных в сгруппированном виде

На рисунке данные в таблице данных "Все продажи" сгруппированы по значению в колонке "Представительство". Группы объектов, соответствующие представительствам ЗАО "Айс девелопмент", ЗАО "Фрост интернешнл" и ООО "Заморозь соседа", раскрыты. Группы, соответствующие ОАО "Красный нос" и ООО "Дед мороз и лето", свернуты.

Данные могут группироваться и по нескольким колонкам. Для этого необходимо повторить описанные выше действия для всех колонок, которые должны быть включены в группировку.

Группировка данных по нескольким колонкам

На рисунке представлен пример группировки данных, отображаемых в таблице данных "Все продажи" по колонкам "Регион" и "Сорт мороженого".

Для снятия группировки и отображения данных в стандартном виде необходимо воспользоваться действием "Очистить группировку", которое также доступно в контекстном меню в подменю "колонка" (на рисунке расположено в выпадающем меню ниже действия "Группировать по этой колонке").

Действия, расположенные в подменю "колонка", доступны также на панели инструментов.

8. Фильтрация данных в таблицах

Фильтрация данных (отображение только тех данных, которые удовлетворяют некоторому условию) осуществляется по значениям, отображаемым в колонках, при помощи строки фильтра. Строка фильтра расположена ниже заголовка колонки. Фильтрация данных может осуществляться двумя способами:

  • путем выбора значения из выпадающего списка, доступного при нажатии кнопки Кнопка выпадающего списка в строке фильтра
  • путем записи условия фильтрации в строке фильтра

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

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

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

Отображение данных в отфильтрованном виде

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

Для фильтрации данных по более сложному условию можно воспользоваться вторым способом - записью условия фильтрации в строке фильтра. Условие фильтрации записывается по следующим правилам:

  1. Строка разделяется на части посредством системного разделителя (системный разделитель устанавливается в настройках операционной системы Windows). Обычно - точка с запятой, ";"
  2. Каждая часть строки интерпретируется самостоятельно, и эти части объединяются логическим "ИЛИ"
  3. При интерпретации каждой части проверяются следующие условия:
    Часть строки | Правило отбора объектов
    * Будут отобраны только те объекты, у которых значение в колонке не является пустым (установлено).
    !* Будут отобраны только те объекты, у которых значение в колонке является пустым (не установлено).
    начинается с символов '<=', '<', '>=', '>' | Будут отобраны только те объекты, у которых значение в колонке удовлетворяет условию.
    включает в себя символы '*' и/или '?' | Будут отобраны только те объекты, у которых значение в колонке удовлетворяет шаблону, в котором знак '?' соответствует одному любому символу, а знак '*' - любому количеству любых символов.
    начинается с символа '!' | Будут отобраны только те объекты, у которых значение в колонке не удовлетворяет условию, переданному оставшейся частью строки (знак '!' означает отрицание).
    представляет собой строку в апострофах (одиночных кавычках) | Содержание строки не анализируется по приведенным выше правилам. Будут отобраны только те объекты, у которых значение данного свойства соответствует строке, заключенной в апострофы.
    любая другая строка | Будут отобраны только те объекты, у которых значение данного свойства соответствует введенной строке (строки чувствительны к регистру).
  4. Условия, указанные в разных колонках, объединяются логическим "И"

После ввода в строке фильтр требуемого условия необходимо нажать клавишу Enter.

Фильтрация данных по сложному условию

В таблице данных "Все продажи" на рисунке отобраны только те записи, для которых верно следующее: Продажи осуществлены в регионе "Москва" или "Тверская область"; при этом наименование проданного сорта мороженого начинается с "Б"; при этом число продаж данного сорта больше 100.

Сделать заключение о том, что отображаемые в таблице данные отфильтрованы, можно по наличию в строке фильтра записи отличной от "(Все)". Снять фильтрацию данных можно одним из двух способов:

  • выбрать в строке фильтра из выпадающего списка пункт "(Все)"
  • удалить все символы, записанные в строке фильтра и нажать клавишу Enter

9. Отображение итоговых значений (агрегатов) по колонкам

По любой из колонок таблицы данных может быть рассчитано и отображено итоговое значение (агрегат). В зависимости от типа отображаемого в колонке свойства могут быть вычислены следующие агрегаты:

  • количество объектов (для свойств любых типов)
  • сумма значений (для числовых значений)
  • наименьшее (минимальное) значение (для строковых, числовых, логических значений, перечислений, значений типа даты, времени, даты со временем)
  • наибольшее (максимальное) значение (аналогично наименьшему значению)
  • среднее значение (для числовых значений)

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

Таблица данных с агрегатом по одной из колонок

На рисунке в нижней части таблицы данных отображена строка на светло-желтом фоне, в которой в колонке "Число продаж" показана сумма числа всех продаж, отображаемых в таблице.

Агрегат может быть вычислен и показан по любой из колонок.

Если данные в таблице отфильтрованы, то агрегат будет рассчитан только по тем записям, которые отобраны по условию фильтрации.

Если данные в таблице сгруппированы, то агрегаты будут рассчитаны как для всех отображаемых в таблице данных, так и отдельно для каждой группы.

Отображение агрегатов для сгруппированных данных

На рисунке данные о продажах сгруппированы по региону. Суммы числа продаж и среднее значение выручки отображены как для каждого региона (в строках на ярко-желтом фоне), так и для всех продаж в целом (в строке на светло-желтом фоне внизу таблицы).

Если свернуть группы, то можно просматривать только итоговые значения агрегатов для групп и для всех объектов в целом. Агрегаты при этом будут видны только в случае, если они отображаются правее надписи с именем и значением параметра группировки.

Режим отображения только агрегатов для групп

10. Редактирование данных в таблице

В таблице данных может редактироваться значение одного свойства одного объекта. Для того чтобы изменить отображаемое в таблице данных значение необходимо выделить требуемый элемент данных щелчком мышью или клавишами со стрелками на клавиатуре, после чего перевести элемент данных в режим редактирования. Это можно сделать одним из двух способов:

  • выполнить двойной щелчок мышью на элементе данных
  • при выделенном активном элементе данных нажать клавишу Enter на клавиатуре

После перевода элемента данных в режим редактирования отображаемый в нем текст будет выделен. Текст может быть отображен на белом или на сером фоне. Справа от текста могут появиться кнопки.

Перевод элемента данных в режим редактирования

На рисунке элемент данных в пятой сверху строке в первой колонке (текст "Белоснежка") переведен в режим редактирования.

Отображение элемента данных в режиме редактирования зависит от типа отображаемого свойства, доступности свойства для изменения и допустимости установленного значения.

  1. Редактирование значения "только для чтения"
    Если текст отображается на сером фоне, это означает, что свойство доступно только для чтения. У Вас нет возможности изменять его значение. Такое значение (или его часть) можно выделить и скопировать при помощи сочетания клавиш Ctrl+Ins или Ctrl+C и затем вставить в доступном для ввода значений месте в этом или в любом другом приложении.

  2. Редактирование недопустимого значения
    Если текст отображается на зеленом фоне, это означает, что установленное в данный момент значение недопустимо. Значение считается недопустимым, в одном из следующих случаев:
    • значение, обязательное для заполнения, не установлено
    • для свойства установлено значение, не удовлетворяющее его типу (например, на приведенном выше рисунке для числового свойства установлено значение, включающее буквы). Форматы, допустимые для значений различных типов, соответствуют локальным настройкам операционной системы Windows
    • длина текста для свойства строкового типа превышает максимально допустимую длину
    • введенное значение больше максимально допустимого или меньше минимально допустимого
    • для свойства, предполагающего выбор из списка или из справочника, установлено значение, не соответствующее ни одному из допустимых значений из списка или справочника
    Пока для свойства не будет установлено допустимое значение, применить выполненное изменение не удастся.

  3. Редактирование значения
    Если в режиме редактирования в ячейке отображается обычный текст на белом фоне, то значение свойства доступно для изменения. Редактирование значения производится при помощи клавиш клавиатуры. Выделенное значение или его часть может быть скопирована и вставлена стандартным образом. При редактировании текста обращайте внимание на тип свойства (строковое, числовое, дата и т.п.). Если введенное значение не будет удовлетворять типу, то оно будет считаться недопустимым и станет отображаться на зеленом фоне. Форматы, допустимые для значений различных типов, соответствуют локальным настройкам операционной системы Windows. После изменения значения необходимо нажать клавишу Enter для того, чтобы применить сделанные изменения.
  4. Если слева от текста в ячейке отображается флажок, это означает, что свойство может иметь одно из двух возможных значений. Одно из значений соответствует установленному флажку, другое - снятому. Если для свойства допустимо пустое значение, то в случае его установки флажок будет отображен на сером фоне и справа от него будет отображен текст "(Нет)".
    Редактирование логического значения "истина" Редактирование логического значения "ложь"
    Изменение значения такого свойства производится либо щелчком мыши по флажку, либо путем нажатия клавиши Пробел на клавиатуре.
  5. Редактирование значения в выпадающем списке
    Если справа от текста отображается кнопка с направленной вниз стрелкой, это означает, что значение свойства должно быть выбрано из списка допустимых значений. Изменять такое значение можно двумя способами:

    • Нажать на кнопку Кнопка выпадающего списка, расположенную справа от текста, в открывшемся выпадающем списке выбрать новое значение.

      Выбор значения из таблицы данных

      На рисунке показан выбор значения из выпадающего списка. Если Вы выбираете значение при помощи мыши, то достаточно выполнить щелчок мышью на нужном значении. Для выбора значения при помощи клавиатуры необходимо воспользоваться клавишами-стрелками "вверх" и "вниз", и когда нужное значение будет выделено, нажать клавишу Enter. Если для свойства допустимо пустое значение, то первым элементом выпадающего списка будет элемент "(Нет)". Если список включает больше восьми элементов, то в нем будет доступна вертикальная полоса прокрутки.

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

  6. Редактирование значения с выбором
    Если справа от текста отображается кнопка с тремя точками, это означает, что данное свойство предполагает выбор значения из другой таблицы данных. Изменять такое значение можно двумя способами:

    • Нажать на кнопку Кнопка выбора, расположенную справа от текста; при этом откроется таблица данных, в которой нужно будет выбрать новое значение. В правом нижнем углу этой таблицы данных будут расположены кнопки OK и Отмена. Для выбора значения можно щелкнуть мышью по нужной записи или воспользоваться стрелками на клавиатуре. После выбора нужного значения нажмите кнопку OK. Если Вы не хотите менять ранее установленное значение, нажмите кнопку Отмена.

      Выбор значения из таблицы данных

      На рисунке представлена таблица данных, которая будет отображена для выбора значения свойства, представляющего собой сорт мороженого.

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

  7. Редактирование значения с выбором и выпадающим списком
    Если справа от текста отображаются две кнопки - кнопка со стрелкой и кнопка с тремя точками, то можно как выбирать значение из выпадающего списка, так и выбирать значение из таблицы данных (описано выше). В этом случае так же можно вводить текст, соответствующий допустимому значению с клавиатуры. После ввода значения с клавиатуры необходимо нажать клавишу Enter.

  8. Редактирование большого значения

    Если справа от текста отображены три кнопки, а сам текст представляет собой строку "(Данные)" или строку "(Нет)" это означает, что данное свойство представляет собой большой объект. Большой объект может быть текстом, файлом, содержащим изображение, xml-документ, исходный текст программных модулей или просто любые бинарные данные.

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

    Окно для редактирования большого объекта

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

    Предупреждение окна редактирования большого объекта

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

    Копка Кнопка загрузки из файла позволяет загрузить содержимое большого объекта из файла. При нажатии этой кнопки отобразится стандартный диалог открытия файла Windows, в котором можно выбрать нужный файл, после чего нажать кнопку Открыть. При замене содержимого большого объекта новым будет отображено предупреждение:

    Предупреждение при загрузке из файла большого объекта

    Если нажать кнопку Да, то содержание большого объекта будет заменено новым, загруженным из указанного файла. Если нажать кнопку Нет, то содержание большого объекта не изменится

    Кнопка Кнопка сохранения в файл позволяет сохранить содержимое большого объекта в файл. При нажатии этой кнопки отобразится стандартный диалог сохранения файла Windows, в котором необходимо задать расположение и имя файла и нажать кнопку Сохранить. При сохранении файла необходимо явно указать его расширение. При сохранении файла никаких предупреждений не отображается.

    После изменения содержания большого объекта необходимо нажать клавишу Enter.

11. Выполнение действий над объектами

Все действия, которые могут быть произведены над объектами, могут быть выполнены одним из трех способов:

  • выбор действия в контекстном меню
  • вызов действия при помощи клавиш клавиатуры - "горячих клавиш" (доступно не для всех действий)
  • вызов действия при помощи иконки на панели инструментов (доступно не для всех действий)

При помощи действий производится добавление, удаление объектов, запуск различных процедур, выполняемых над данными, формирование отчетов.

Перечень всех действий, доступных в текущей таблице данных расположен в контекстном меню, которое отображается при нажатии правой кнопки мыши в зоне таблицы данных. Некоторые из действий выполняются для выбранных объектов (одного или нескольких), например, действие "Удалить". Для выполнения других действий выбор конкретного объекта не нужен, например, для действия "Добавить". Выбор действия в контекстном меню может производиться как при помощи мыши, так и при помощи стрелок на клавиатуре.

Если для действия установлены " горячие клавиши ", то из обозначения можно будет увидеть в правой части пункта контекстного меню. Действия могут вызываться как при нажатии одной клавиши, так и при помощи сочетания клавиш.

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

Выполнение действий над объектами при помощи контекстного меню

На рисунке изображено контекстное меню, отображающее все действия, доступные над объектом, соответствующим студенту Алехиной Елене Михайловне. Действиям "Добавить студента-специалиста", "Удалить" и "Обновить" соответствуют "горячие клавиши". Пункты меню "Перемещения", "Колонка", "Выбранные" имеют подменю. На рисунке открыто подменю пункта "Перемещения".

Для некоторых действий могут быть установлены изображения-иконки. В этом случае иконки отображаются на панели инструментов (подробнее в разделе 4.13. "Работа с панелью инструментов").

Если выполнение процедуры или отчета требует задания параметров, то при вызове действия отобразится форма задания параметров. Для выполнения действия необходимо заполнить поля формы и нажать кнопку OK (подробнее в разделе 6 "Работа с формой задания параметров").

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

Предупреждение при выполнении действия

Если в таком окне нажать кнопку Да, то действие будет выполнено. Если нажать кнопку Нет, то действие будет отменено.

12. Работа с панелью инструментов

На панели инструментов отображаются иконки, соответствующие доступным пользователю действиям и формам. Иконки могут иметь подписи, соответствующие наименованием действий или форм. Вызов действий или переключение между активными формами осуществляется при помощи щелчка мышью на одной из иконок. Если иконок много и они не помещаются на панели инструментов по ширине, то слева или справа отображаются кнопки прокрутки. Для прокрутки содержимого панели инструментов достаточно подвести указатель мыши к кнопке прокрутки.

На рисунке представлен пример панели инструментов. Иконки с подписями "Создать", "Удалить", "Колонка", "Выбранные", "Перенос в Excel" соответствуют доступным в текущей таблице данных действиям. Иконки с надписями "Системная форма" и "Продажи мороженого" соответствуют доступным пользователю формам. Справа от иконки "Продажи мороженого" расположена кнопка прокрутки. Подведя указатель мыши к этой кнопке, можно увидеть иконки, расположенные правее и не поместившиеся на панели инструментов.

Некоторые кнопки панели инструментов могут иметь выпадающие кнопки. Выпадающие кнопки соответствуют пунктам подменю контекстного меню. Справа от кнопок, имеющих выпадающие кнопки, расположена направленная вниз стрелочка. Если нажать мышью на эту стрелочку, то отобразится панель с выпадающими кнопками. На рисунке кнопки "Колонка" и "Выбранные" имеют выпадающие кнопки.

Панель выпадающих кнопок

Как и в контекстном меню, на панели инструментов некоторые кнопки могут быть недоступны. Доступность кнопки зависит от того, какие объекты в настоящий момент выделены, и от применимости действия к выделенным объектам.

13. Стандартные действия, доступные в любых таблицах данных

Ряд стандартных действий, доступных объектов любого типа, может быть вызван из любой таблицы данных. Разработчиком конкретной прикладной системы некоторые из перечисленных в данном разделе действий могут быть скрыты. Также перечень доступных стандартных действий зависит от прав доступа конкретного пользователя.

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

13.1. Копирование и вставка объектов

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

  1. Выбрать один или несколько объектов, которые Вы хотите скопировать (см. раздел 4.3. "Выбор объектов в таблице данных").
  2. Вызвать действие "Копировать" из контекстного меню или при помощи иконки на панели инструментов.
  3. Перейти в таблицу данных, в которую Вы хотите вставить скопированные объекты.
  4. Вызвать действие "Вставить" из контекстного меню или при помощи иконки на панели инструментов.

При копировании и вставке происходит создание копии объекта. Все свойства нового объекта, кроме свойства "Имя" (или замещающего его свойства), будут такими же, как у первичного объекта. Свойство имя будет равно строке, составленной из слова "Копия " и имени первичного объекта. После вставки объекта значение свойства "Имя" можно изменить.

Действия "Копировать" и "Вставить" имеют соответствующие иконки на панели инструментов:
Кнопка "копировать" Кнопка "вставить"

13.2. Подменю "Колонка" - работа с колонкой

Действия, доступные в подменю "Колонка" в контекстном меню или на панели инструментов могут быть применены к колонкам любой таблицы данных. Доступность тех или иных действий над колонкой зависит от типа данных, отображаемых в колонке, и от того, какие действия над колонкой уже совершены (например, нельзя вычислить сумму значений строкового типа, или нельзя очистить группировку, если данные не сгруппированы).

Иконка "Колонка" на панели инструментов имеет выпадающие кнопки:
Кнопки подменю работы с колонкой

Действия, доступные в подменю "Колонка", описаны в разделах 4.6. "Скрытие и отображение колонок", 4.8. "Группировка данных в таблицах", 4.10. "Отображение итоговых значений (агрегатов) по колонкам".

13.3. Подменю "Выбранные" - работа с выбранными объектами

Действия, доступные в подменю "Выбранные" позволяют быстро отбирать и снимать отбор с объектов, а также устанавливать режим отображения в таблице данных только тех объектов, которые помечены как выбранные.

Иконка "Выбранные" на панели инструментов имеет выпадающие кнопки:
Кнопки подменю работы с выбранными объектами

Назначение этих действий описано в разделе 4.3. "Выбор объектов в таблице данных".

13.4. Перенос в Excel

Данные, отображаемые в любой из таблиц данных, могут быть перенесены в MS Excel. При этом в MS Excel будут сохранены все настройки отображения данных (сортировка по одной или нескольким колонкам, группировка, отображение итоговых значений). Действие "Перенос в Excel" может быть вызвано из контекстного меню или при помощи иконки на панели инструментов. С данными, перенесенными в MS Excel, далее могут производиться любые манипуляции средствами этого приложения.

Если в таблице много записей, то перенос данных в Excel может занять некоторое время. Если это время превышает 10 сек., то отобразится окно, сообщающая, что система находится в работе. В этом окне будет отображен индикатор процесса переноса данных:
Индикатор прогресса переноса данных в Excel

Действие "Перенос в Excel" имеет соответствующую иконку на панели инструментов:
Кнопка переноса в Excel

13.5. Экспорт данных

Отображаемые в таблицах данных объекты могут быть экспортированы в виде xml-документа. Для того, чтобы осуществить экспорт объектов, необходимо выполнить следующее:

  1. Выбрать объекты, подлежащие экспорту (см. раздел 4.3. "Выбор объектов в таблице данных").
  2. Вызвать действие "Экспортировать" из контекстного меню или при помощи иконки на панели инструментов.
  3. В открывшемся окне сохранения файла указать местоположение и имя файла. Дать файлу расширение .xml.

13.6. Обновление данных таблицы

После выполнения действий над различными объектами, хранящимися в системе, их новое состояние может сразу не отобразиться в таблице данных. Для того чтобы получить из базы данных последние актуальные данные необходимо воспользоваться действием "Обновить", которое доступно в контекстном меню, при помощи иконки на панели инструментов, а также может быть доступно при нажатии клавиши F5.

Действие "Обновить" имеет соответствующую иконку на панели инструментов:
Кнопка обновления набора данных

13.7. Доступ к настройкам системы

При наличии соответствующих прав доступа Вы можете просматривать и изменять настройки системы. Доступ к меню настроек осуществляется при помощи действия "Настройки", которое может быть вызвано из контекстного меню или при помощи иконки на панели инструментов. При вызове этого действия отобразится форма задания настроек. Эта форма аналогична форме задания параметров (см. раздел 6 "Работа с формой задания параметров"). Если Вы имеете права администратора системы, то форма задания настроек, кроме кнопок OK и Отмена, будет иметь кнопку "По умолчанию". При нажатии этой кнопки значения, установленные в полях формы станут значениями настроек по умолчанию.

Форма задания настроек системы

Если в системе нет доступных для текущего пользователя настроек, то при вызове действия "Настройки" отобразится окно:
Сообщение об отсутствии доступных настроек

Действие "Настройки" имеет соответствующую иконку на панели инструментов:
Кнопка формы настроек

13.8. Дополнительные действия, доступные в иерархических таблицах данных

В иерархических таблицах данных дополнительно доступны действия, позволяющие управлять раскрытием и свертыванием элементов иерархии. Эти действия расположены в подменю "Дерево". Иконка "Дерево" на панели инструментов имеет выпадающие кнопки:
Кнопки подменю работы с иерархией

При помощи этих действий можно управлять отображением дерева иерархически организованных объектов следующим образом:

  • Развернуть все - все элементы дерева будут раскрыты.
  • Свернуть все - все дочерние элементы будут свернуты. Отображенными останутся только элементы первого уровня (не имеющие родительских элементов).
  • Развернуть от выбранного - узел дерева, соответствующий выбранному объекту и все его дочерние узлы будут раскрыты.
  • Свернуть к выбранному - узел дерева, соответствующий выбранному объекту у все его дочерние узлы будут свернуты.
  • Свернуть к этому уровню - все узлы дерева, лежащие на том же уровне, что и выбранный объект или на более низких уровнях будут свернуты.
  • Выделить дочерние - все объекты, дочерние по отношению к выбранному, будут выделены.


Мельница данных ((раздел целиком))

Мельница данных- Класс TBanGroupItem (Элементы группы запретов) (раздел целиком) (23.04.2022) (одним файлом)
Класс TBanGroupItem (Элементы группы запретов)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

1. Конструктор TBanGroupItem.Create (Конструктор элемента группы запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TBanGroupItem (Элементы группы запретов) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TFolderNameDomain (Имена папок файловой системы) (раздел целиком) (23.04.2022) (одним файлом)
Класс TFolderNameDomain (Имена папок файловой системы)
Унаследован от класса TStringDomain (Строковые) .

1. Конструктор TFolderNameDomain.Create (Конструктор имени папки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) | Унаследован | Доступен |
FolderMustExist (Папка должна существовать) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TFolderNameDomain (Имена папок файловой системы) .

2. Поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать)
FFolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFolderNameDomain.FolderMustExist (Папка должна существовать)
.

3. Процедура TFolderNameDomain.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

4. Свойство TFolderNameDomain.FolderMustExist (Папка должна существовать)
FolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать) .


Мельница данных ((раздел целиком))

Мельница данных- Работа с типами данных (раздел целиком) (23.04.2022) (одним файлом)
Работа с типами данных

1. Домены


Мельница данных ((раздел целиком))

Мельница данных- Класс TClass (Классы) (раздел целиком) (23.04.2022) (одним файлом)
Класс TClass (Классы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты могут включать в себя объекты классов:
  • TClassMember (Члены класса)
  • TField (Поля)
  • TProperty (Свойства)
  • TMethod (Методы)
  • TXSLTTemplate (Шаблоны отчетов XSLT)
  • TExcelTemplate (Шаблоны отчетов Excel)
  • TRoutine (Подпрограмма)
  • TOleObjectMethod (Метод Ole-объекта)
  • TInlineExpression (Встраиваемое выражение)
  • TWordTemplate (Шаблоны отчетов Word)

1. Конструктор TClass.Create (Конструктор класса)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsHierarhical (Является иерархическим) | Boolean (Обычное логическое) |  | Доступен |
MasterClass (Класс-мастер) | TClass domain (Класс) |  | Доступен |
ReplicationStatus (Статус репликации) | TReplicationStatus (Статус репликации) |  | Доступен |
SecurityModel (Модель безопасности) | TSecurityModel (Модели безопасности) |  | Доступен |
UnNamed (Неименованный) | Boolean (Обычное логическое) |  | Доступен |
NameExpression (Выражение имени объекта) | TInlineExpressionText (Текст выражения) |  | Доступен |
DescriptionExpression (Выражение наименования объекта) | TInlineExpressionText (Текст выражения) |  | Доступен |
CreateConstructor (Создать конструктор) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TClass (Классы) .

2. Поле TClass.FDescriptionExpression (Выражение наименования объекта)
FDescriptionExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TClass.DescriptionExpression (Выражение наименования объекта)
.

3. Поле TClass.FIsHierarhical (Является иерархическим)
FIsHierarhical: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.IsHierarhical (Является иерархическим)
.

4. Поле TClass.FMasterClass (Класс-мастер)
FMasterClass: TClass domain (Класс) .

Используется для хранения значений свойств:
TClass.MasterClass (Класс-мастер)
TView.ShownClassMasterClass (Класс-мастер показываемого)
.

5. Поле TClass.FNameExpression (Выражение имени объекта)
FNameExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TClass.NameExpression (Выражение имени объекта)
.

6. Поле TClass.FReplicationStatus (Статус репликации)
FReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Используется для хранения значений свойств:
TClass.ReplicationStatus (Статус репликации)
TObject.ReplicationStatus (Статус репликации)
TView.ShownClassReplicationStatus (Статус репликации класса)
.

7. Поле TClass.FSecurityModel (Модель безопасности)
FSecurityModel: TSecurityModel (Модели безопасности) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.SecurityModel (Модель безопасности)
.

8. Поле TClass.FUnNamed (Неименованный)
FUnNamed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TClass.UnNamed (Неименованный)
.

9. Процедура TClass.GenerateConstructor (Сгенерировать текст конструктора)

10. Свойство TClass.DescriptionExpression (Выражение наименования объекта)
DescriptionExpression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TClass.FDescriptionExpression (Выражение наименования объекта) .

11. Свойство TClass.IsHierarhical (Является иерархическим)
IsHierarhical: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TClass.FIsHierarhical (Является иерархическим) .

12. Свойство TClass.MasterClass (Класс-мастер)
MasterClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TClass.FMasterClass (Класс-мастер) .

13. Свойство TClass.NameExpression (Выражение имени объекта)
NameExpression: TInlineExpressionText (Текст выражения) .

Для чтения и записи свойства используется поле TClass.FNameExpression (Выражение имени объекта) .

14. Свойство TClass.ReplicationStatus (Статус репликации)
ReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

15. Свойство TClass.SecurityModel (Модель безопасности)
SecurityModel: TSecurityModel (Модели безопасности) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FSecurityModel (Модель безопасности) .

16. Свойство TClass.UnNamed (Неименованный)
UnNamed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FUnNamed (Неименованный) .

17. Функция TClass.ListProperties (Список видимых свойств)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

Возвращает значение типа TList domain (Список объектов) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

18. Функция TClass.ListRoutines (Список видимых подпрограмм)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

Возвращает значение типа TList domain (Список объектов) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

19. Шаблон отчета XSLT TClass.ClassesDiagram (Диаграмма классов)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ShowFields (Показывать поля) | Boolean (Обычное логическое) |  | Доступен |
ShowMethods (Показывать методы) | Boolean (Обычное логическое) |  | Доступен |
ShowProperties (Показывать свойства) | Boolean (Обычное логическое) |  | Доступен |
ShowParameters (Показывать параметры) | Boolean (Обычное логическое) |  | Доступен |
ShowMetadata (Показывать метаданные) | Boolean (Обычное логическое) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ShowFields (Показывать поля) | Boolean (Обычное логическое) |  | Доступен |
ShowMethods (Показывать методы) | Boolean (Обычное логическое) |  | Доступен |
ShowProperties (Показывать свойства) | Boolean (Обычное логическое) |  | Доступен |
ShowParameters (Показывать параметры) | Boolean (Обычное логическое) |  | Доступен |
ShowMetadata (Показывать метаданные) | Boolean (Обычное логическое) |  | Доступен |


Мельница данных ((раздел целиком))

Мельница данных- Класс TDataBase (Базы данных) (раздел целиком) (23.04.2022) (одним файлом)
Класс TDataBase (Базы данных)
Унаследован от класса TObject (Объекты) .

1. Конструктор TDataBase.Create (Конструктор базы данных)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
GUID (GUID) | TGUID (Уникальные идентификаторы) |  | Доступен |
Protected (Защищена) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TDataBase (Базы данных) .

2. Поле TDataBase.FGUID (Идентификатор)
FGUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDataBase.GUID (Идентификатор)
TObject.SourceDataBaseGUID (GUID базы даных-источника)
.

3. Поле TDataBase.FIsCurrent (Является текущей)
FIsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDataBase.IsCurrent (Является текущей)
TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
.

4. Поле TDataBase.FProtected (Защищена)
FProtected: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TDataBase.Protected (Защищена от изменений)
.

5. Свойство TDataBase.GUID (Идентификатор)
GUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FGUID (Идентификатор) .

6. Свойство TDataBase.IsCurrent (Является текущей)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FIsCurrent (Является текущей) .

7. Свойство TDataBase.Protected (Защищена от изменений)
Protected: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDataBase.FProtected (Защищена) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TAccessItem (Элементы доступа) (раздел целиком) (23.04.2022) (одним файлом)
Класс TAccessItem (Элементы доступа)

1. Конструктор TAccessItem.Create (Конструктор элемента доступа)

2. Поле TAccessItem.FSecurityAccount (Роль безопасности)

3. Свойство TAccessItem.Description (Наименование)

4. Свойство TAccessItem.Name (Имя)

5. Свойство TAccessItem.SecurityAccount (Роль безопасности)

6. Функция TAccessItem.GetIsAccessible (Проверка доступности)


Мельница данных ((раздел целиком))

Мельница данных- Класс TView (Представления) (раздел целиком) (23.04.2022) (одним файлом)
Класс TView (Представления)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TAction (Действия)
  • TViewColumn (Колонки представлений)
  • TRoutineAction (Программируемое действие)
  • TViewAction (Действие-представление)

1. Конструктор TView.Create (Конструктор представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
ShownClass (Класс) | TClass required domain (Класс (обязательно)) |  | Доступен |
ColorProperty (Свойство цвета) | TColorProperty domain (Домен свойства цвета) |  | Доступен |
Collapsed (Свернуто) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TView (Представления) .

2. Поле TView.FCollapsed (Свернуто)
FCollapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TView.Collapsed (Свернуть)
TFormView.Collapsed (Узлы свернуты)
.

3. Поле TView.FColorProperty (Свойство цвета)
FColorProperty: TColorProperty domain (Домен свойства цвета) .

Используется для хранения значений свойств:
TView.ColorProperty (Свойство цвета)
TFormView.ColorProperty (Свойство-цвет)
.

4. Поле TView.FShownClass (Класс для показа)
FShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TView.ShownClass (Класс)
TFormView.ShownClass (Показываемый класс)
TViewAction.ShownClass (Показываемый класс)
.

5. Процедура TView.BuildDefaultActions (Создать действия по умолчанию)

6. Процедура TView.BuildDefaultColumns (Создать колонки по умолчанию)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ParentProperty (Родительское свойство) | TColumnProperty domain (Свойство колонки) |  | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ParentProperty (Родительское свойство) | TColumnProperty domain (Свойство колонки) |  | Скрыт |

7. Свойство TView.Collapsed (Свернуть)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FCollapsed (Свернуто) .

8. Свойство TView.ColorProperty (Свойство цвета)
ColorProperty: TColorProperty domain (Домен свойства цвета) .

Для чтения и записи свойства используется поле TView.FColorProperty (Свойство цвета) .

9. Свойство TView.ShownClass (Класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FShownClass (Класс для показа) .

10. Свойство TView.ShownClassMasterClass (Класс-мастер показываемого)
ShownClassMasterClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TClass.FMasterClass (Класс-мастер) .

Дочернее свойство свойства ShownClass (Класс) .

11. Свойство TView.ShownClassReplicationStatus (Статус репликации класса)
ShownClassReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

Дочернее свойство свойства ShownClass (Класс) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TFormView (Представления формы) (раздел целиком) (23.04.2022) (одним файлом)
Класс TFormView (Представления формы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TForm (Формы) .

1. Конструктор TFormView.Create (Конструктор представления формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
View (Представление) | TView of FormView domain (Представление для формы) |  | Доступен |
ChildrenMinimized (Дочерние представления минимизированы) | Boolean (Обычное логическое) |  | Доступен |
ChildrenOnTabs (Дочерние представления на закладках) | Boolean (Обычное логическое) |  | Доступен |
MasterProperty (Свойство-главное) | TMasterProperty domain (Свойство-главное) |  | Доступен |
DetailProperty (Свойство-подчиненное) | TDetailProperty domain (Свойство-подчиненное) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
SpacePercentage (Площадь, %) | Percent (Процент) |  | Доступен |

Конструирует объект класса TFormView (Представления формы) .

2. Поле TFormView.FChildrenMinimized (Дочерние представления минимизированы)
FChildrenMinimized: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.ChildrenMinimized (Дочерние представления минимизированы)
.

3. Поле TFormView.FChildrenOnTabs (Дочерние представления на закладках)
FChildrenOnTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.ChildrenOnTabs (Дочерние представления на закладках)
.

4. Поле TFormView.FDetailProperty (Свойство-подчиненное)
FDetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Используется для хранения значений свойства TFormView.DetailProperty (Свойство-подчиненное)
.

5. Поле TFormView.FMasterProperty (Свойство-главное)
FMasterProperty: TMasterProperty domain (Свойство-главное) .

Используется для хранения значений свойства TFormView.MasterProperty (Свойство-главное)
.

6. Поле TFormView.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.Position (Позиция)
.

7. Поле TFormView.FSingleQuery (Единственный запрос)

8. Поле TFormView.FSpacePercentage (Площадь)
FSpacePercentage: Percent (Процент) .

Используется для хранения значений свойства TFormView.SpacePercentage (Площадь, %)
.

9. Поле TFormView.FView (Представление)
FView: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Используется для хранения значений свойства TFormView.View (Представление)
.

10. Свойство TFormView.ChildrenMinimized (Дочерние представления минимизированы)
ChildrenMinimized: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FChildrenMinimized (Дочерние представления минимизированы) .

11. Свойство TFormView.ChildrenOnTabs (Дочерние представления на закладках)
ChildrenOnTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FChildrenOnTabs (Дочерние представления на закладках) .

12. Свойство TFormView.Collapsed (Узлы свернуты)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FCollapsed (Свернуто) .

Дочернее свойство свойства View (Представление) .

13. Свойство TFormView.ColorProperty (Свойство-цвет)
ColorProperty: TColorProperty domain (Домен свойства цвета) .

Для чтения и записи свойства используется поле TView.FColorProperty (Свойство цвета) .

Дочернее свойство свойства View (Представление) .

14. Свойство TFormView.DetailProperty (Свойство-подчиненное)
DetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Для чтения и записи свойства используется поле TFormView.FDetailProperty (Свойство-подчиненное) .

15. Свойство TFormView.MasterProperty (Свойство-главное)
MasterProperty: TMasterProperty domain (Свойство-главное) .

Для чтения и записи свойства используется поле TFormView.FMasterProperty (Свойство-главное) .

16. Свойство TFormView.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FPosition (Позиция) .

17. Свойство TFormView.ShownClass (Показываемый класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FShownClass (Класс для показа) .

Дочернее свойство свойства View (Представление) .

18. Свойство TFormView.SingleQuery (Единственный запрос)

19. Свойство TFormView.SpacePercentage (Площадь, %)
SpacePercentage: Percent (Процент) .

Для чтения и записи свойства используется поле TFormView.FSpacePercentage (Площадь) .

20. Свойство TFormView.View (Представление)
View: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFormView.FView (Представление) .

21. Функция TFormView.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)

Используется для инициализации значения параметра Position (Позиция) подпрограммы TFormView.Create (Конструктор представления формы)
.


Мельница данных ((раздел целиком))

Мельница данных- Установка программного обеспечения платформы "Мельница данных" (раздел целиком) (23.04.2022) (одним файлом)
Установка программного обеспечения платформы "Мельница данных"

Для установки ПП "Мельница данных" необходимо запустить файл setup.exe, расположенный на поставляемом компакт диске. После запуска программы установки необходимо следовать указаниям мастера установки.

Шаг 1: Выбор языка

Установка Мельницы Выбор языка

Шаг 2: Информация о версии устанавливаемого ПП

Установка Мельницы. Версия ПП

Шаг3: Выбор каталога установки файлов ПП

Установка Мельницы. Папка установки.

Шаг 4: Выбор файла лицензии

Установка Мельницы. Выбор лицензии.

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

Шаг 5: Выбор компонентов для установки

Установка Мельницы. Выбор компонентов.

На данном шаге вам необходимо выбрать набор компонентов для установки на локальный компьютер. В зависимости от специфики использования рабочего места, на которое устанавливается ПО, необходимо выбрать тип установки. Предлагаемые типы установок:

  • Рабочее место пользователя
  • Рабочее место администратора
  • Рабочее место разработчика
  • Только построитель запросов
  • По выбору

Для каждого из типов установки по умолчанию устанавливается свой набор компонентов. Вы можете дополнительно отметить тот или иной необходимый вам компонент для установки. Для выбора будут отображены только те компоненты, которые влачены в указанном вами лицензионном файле.

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

  1. Обозреватель данных
  2. Построитель запросов
  3. Утилита обслуживания баз данных
  4. Утилита слияния баз данных
  5. Инструменты разработчика / Инструмент поставки решений
  6. Отладочный монитор
  7. Документация

Для некоторых из вышеперечисленных компонентов также можно выбрать состав устанавливаемого компонента. Описание назначений поставляемых компонент описано в разделе "Поставляемые компоненты ПП" настоящей документации.

После указания всех параметров мастер установки скопирует файлы на локальный компьютер и создаст в меню программ папку с ярлыками к установленным компонентам:

Установка Мельницы. Ярлыки после установки.

1. Поставляемые компоненты ПП "Мельница данных"
Обозреватель данных | Обозреватель данных (DataBrowser) - Основное приложение позволяющее просматривать и модифицировать данные. Приложение используется для разработки прикладных решений. Позволяет описывать объекты БД, их свойства, методы, пользовательские формы и отчеты. Это же приложение используется для работы с разработанными прикладными решения пользователями на локальных рабочих местах.
Утилита обслуживания БД | Утилита обслуживания базы данных (DBSetupShell) - Приложение, позволяющее создавать и обслуживать выбранную базу данных любой из поддерживаемых СУБД. Также при помощи данной утилиты можно создавать и удалять пользователей БД, создавать и восстанавливать резервные копии БД, импортировать и экспортировать данные из/в БД, а также выполнять процедуры по контролю целостности БД.
Построитель запросов | Построитель запросов (QueryBuilder) - Приложение, позволяющее визуальными средствами создавать интерактивные запросы на основе данных хранящихся в используемой БД. Созданные запросы сохраняются в стандартный формате SQL и полностью удовлетворяют архитектуре клиент-сервер. Сохраненные в виде файла запросы могут быть открыты пользователем по необходимости. Полученная таким образом информация будет актуальна в любой момент времени. Также существует возможность создания статистического отчета на основе Excel шаблона.
Отладочный монитор | Отладочный монитор (DebugView) - Средство позволяющее отслеживать все запросы к БД генерируемые "клиентской частью" прикладного решения, а также результат их исполнения сервером СУБД. Используется для отладки в процессе разработки прикладного решения.
Утилита слияния баз данных | Утилита слияния баз данных (Merger) - Данная утилита позволяет сравнивать данные и метаданные 2х различных БД. При помощи данного приложения можно с легкостью перенести, например данные из резервной копии в рабочую БД в случае не преднамеренного удаления большого числа объектов, тем самым избежать необходимости восстановления резервной копии недельной давности. Также используется для обновления версии ПП.
Редактор файлов документации | Редактор файлов документации (HelpEditor) - Незаменимое средство создания электронной справки и файлов документации в стандартном формате chm.


Мельница данных ((раздел целиком))

Мельница данных- Класс TPropertyBan (Запрет на свойство) (раздел целиком) (23.04.2022) (одним файлом)
Класс TPropertyBan (Запрет на свойство)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

1. Конструктор TPropertyBan.Create (Конструктор запрета на свойство)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |
BannedProperty (Запрещаемое свойство) | TBannedProperty domain (Свойство для запрета) |  | Доступен |
AllowRead (Чтение разрешено) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TPropertyBan (Запрет на свойство) .

2. Поле TPropertyBan.FAllowRead (Чтение разрешено)
FAllowRead: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.AllowRead (Чтение разрешено)
.

3. Поле TPropertyBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.BannedClass (Запрещаемый класс)
.

4. Поле TPropertyBan.FBannedProperty (Запрещенное свойство)
FBannedProperty: TBannedProperty domain (Свойство для запрета) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.BannedProperty (Запрещаемое свойство)
.

5. Свойство TPropertyBan.AllowRead (Чтение разрешено)
AllowRead: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TPropertyBan.FAllowRead (Чтение разрешено) .

6. Свойство TPropertyBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TPropertyBan.FBannedClass (Запрещенный класс) .

7. Свойство TPropertyBan.BannedProperty (Запрещаемое свойство)
BannedProperty: TBannedProperty domain (Свойство для запрета) (обязательно для заполнения) .

Для чтения значения свойства используется поле TPropertyBan.FBannedProperty (Запрещенное свойство) .


Мельница данных ((раздел целиком))

Мельница данных- Cтилевое оформление исходного кода (раздел целиком) (23.04.2022) (одним файлом)
Cтилевое оформление исходного кода

Код на языке PascalScript, являющийся частью поставляемого решения, должен быть оформлен в соответствии с изложенными правилами.

1. Использование строк, пробелов и отступов

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

Пробелы, запрещенные к использованию:

  • До или после точки "."
  • Между именем вызываемого метода и открывающей скобкой "("
  • После открывающей скобки "(" или перед закрывающей ")"
  • Перед точкой с запятой ";"
  • Перед двоеточием ":"
  • Перед запятой ","

Двоеточие для всех объявлений переменных не должно содержать перед собой пробелов и иметь один пробел после перед именем типа.

Всегда необходимо использовать два пробела для всех уровней отступа. Другими словами, первый уровень отступает на два пробела, второй на четыре и так далее. Никогда не используйте символы табуляции.

Существует несколько исключений из этого правила. Зарезервированные слова var, begin и end, относящиеся к программному блоку вцелом, всегда должны примыкать к левой границе. Код внутри блока begin..end должен иметь отступ два символа.

Все строки должны быть ограничены 80 столбцами. Строки, длиннее чем 80 столбцов должны быть разделены и перенесены. Все перенесенные строки должны быть выровнены по первой строке и иметь отступ в два символа. Зарезервированное слово begin всегда должно находиться на своей отдельной строке.

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

2. Оформление объявлений и операторов

Все переменные с их типами должны быть объявлены на различных строках.

Простые операторы содержат одну точку с запятой. Если Вам необходимо разделить оператор, то перенесите продолжение оператора на следующую строку с отступом в два пробела.
  MyValue :=
    MyValue + (SomeVeryLongStatement / OtherLongStatement);

Составные операторы всегда заканчиваются точкой с запятой.
begin
  MyStatement;
  MyNext Statement;
  MyLastStatement;
end;

Каждое присвоение и каждое выражение должно располагаться на разных строках.

Оператор "if"

Оператор if всегда должен располагаться по крайней мере на двух строках
if A < B then DoSomething;
if A < B then
  DoSomething;
В случае составного оператора необходимо поместить каждый оператор на новую строку.
  if A < B then begin
    DoSomething;
    DoSomethingElse;
  end else begin
    DoThis;
    DoThat;
  end;

  if A < B then
  begin
    DoSomething;
    DoSomethingElse;
  end
  else
  begin
    DoThis;
    DoThat;
  end;
Все остальные варианты расположения операторов не рекомендуются и не одобряются, хотя и являются синтаксически правильными.

Оператор "for"

  for i := 0 to 10 do begin
    DoSomething;
    DoSomethingElse;
  end;

  for i := 0 to 10 do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  for I := 0 to 10 do
    DoSomething;

Оператор "while"

  while x < j  do begin
    DoSomething;
    DoSomethingElse;
  end;
  while x < j do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  while x < j do
    Something;

Оператор "repeat..until"

  repeat
    x := j;
    j := UpdateValue;
  until j > 25;

Оператор "case"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
  case LCode of
    1, 3:
      begin
        Incr := FIncrement + 1;
        FinalIncr := FIncrement div FLineDiv;
        Count := FLineDiv;
      end;
    2, 4:
      begin
        Incr := FPageIncrement;
        FinalIncr := Incr + 1;
        Incr := Incr div FPageDiv;
        Count := FPageDiv;
      end;
  else
    begin
      Count := 0;
      Incr := 0;
      FinalIncr := 0;
    end;
  end;

Оператор "try"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
try
  try
    EnumItems(CurrentThreadID, LDisable, 0);
    Result := TaskList;
  except
    EnableItems(TaskList);
    raise;
  end;
finally
  TaskList := SaveList;
  TaskActive := SaveActive;
end;


Мельница данных ((раздел целиком))

Мельница данных- Операции (раздел целиком) (23.04.2022) (одним файлом)
Операции

Операции связывают элементы выражений.

Таблица операций в порядке приоритета:
Левый операнд | Правый операнд
 | Целый | Вещест- венный | Дата | Время | Дата со временем | Логи- ческий | Строковый | Объект | nil
not
Нет | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
* (звездочка)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
/ (слэш, дробь)
Целый | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
div
Целый | Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
and
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
or
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
+ (плюс)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Строковый | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
- (минус)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Целый | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Вещест- венный | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
=, <> (равно, не равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Логи- ческий
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Логи- ческий
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
<, >, <=, >= (меньше, больше, меньше либо равно, больше либо равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
is
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
as
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Объект | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено

1. Особенности применения операций
  1. Приоритет сравнений ниже приоритета операций булевой логики. Поэтому выражение
    LObject.Master = LMaster and LObject.Parent = LParent
    будет интерпретироваться следующим образом:
    LObject.Master = (LMaster  and LObject.Parent) = LParent
    и вызовет ошибку компиляции из-за применения операции and к объектам. Необходимо писать:
    (LObject.Master = LMaster) and (LObject.Parent = LParent)
  2. Любое значение (выражение любого типа) сравнивается с безтиповой константой nil:
          LObject := any(TObject with Name = 'Some name');
      if LObject = nil then
         .....
  3. Операции "Унарный минус" не существует. Для задания отрицательных констант пользуйтесь конструкцией 0-Значение:
    Result := 0-1;


Мельница данных ((раздел целиком))

Мельница данных- Управление доступом пользователей (раздел целиком) (23.04.2022) (одним файлом)
Управление доступом пользователей

После того, как база данных создана и инициализирована метаданными платформы, доступ к системе будет иметь один пользователь - администратор созданной БД. Добавление других пользователей, ролей пользователей и включение пользователей в роли выполняется в представлениях Пользователи и Роли в Системной форме. После начальной инициализации БД на вкладке Пользователи можно увидеть одного пользователя с именем, соответствующим логину администратора БД (Например, для FireBird пользователь SYSDBA), на вкладке Роли можно увидеть одну роль с наименованием Администраторы. На подчиненных вкладках этих представлений можно увидеть, что пользователь - администратор включен в роль Администраторы.

Профиль пользователя формируется путем определения для него:

  1. Перечня доступных форм
  2. Перечня доступных визуальных групп
  3. Перечня групп запретов

Формирование профиля происходит одинаково как для роли, так и для отдельного пользователя. Однако рекомендуется формировать профили для ролей, а не для отдельных пользователей. В этом случае при подключении к системе новых пользователей, изменении параметров доступа для существующего пользователя достаточно будет включить пользователя в одну из ролей, или исключить его из роли. Роли рекомендуется формировать содержательным образом на основе распределения обязанностей реальных пользователей, работающих с прикладным решением.

1. Создание пользователей

Создание пользователя системы включает в себя два этапа:

  1. Создание пользователя БД средствами используемой СУБД. Для этого наряду с возможностями каждой из СУБД Утилитой обслуживания БД предлагается действие Создать пользователя. Предлагаемые Утилитой по умолчанию пути к БД и параметры доступа требуют уточнения в зависимости от условий функционирования реальной БД. Задавать права доступа пользователя к объектам БД на данном этапе не надо.
  2. В Системной форме на вкладке Пользователи создать нового пользователя при помощи соответствующего действия контекстного меню.
    В поле Имя нужно вветси строку, строго соответствующую логину пользователя БД в вернем регистре.
    Особых требований к полю Наименование не предъявляется. Однако рекомендуется вводить в это поле фамилию и имя реального пользователя системы, например, Смирнов Иван Николаевич, что позволить в последующем получать информативные данных об активности пользователей системы.

2. Создание ролей

Создание ролей производится на вкладке Роли Системной формы при помощи действия Создать, вызываемого из контекстного меню. Имя и наименование роли могут быть любыми строками. Однако именовать роли по названиям соответствющих функциональных участков системы, например,

  • Начальник отдела кадров
  • Инспектора по работе с личными данными персонала
  • Инспектора по социальным вопросам
В случаях, когда реальные пользователи совмещают несколько ролей, роли лучше формировать отдельно, после чего одного пользователя можно влючить одновременно в несколько ролей.

3. Включение пользователей в роли

В роль могут включаться как пользователи, так и другие роли. Для добавления в роль нового члена роли нужно выбрать роль на вкладке Роли, отрыть подчиненную вкладку Члены роли и вызвать на ней действие Создать. Поля формы параметров заполняются следующим образом:

  • Пользователь - в этом поле необходимо выбрать либо одного из пользователей, либо одну из ролей. В зависимости от того, выбран ли пользователь или роль, будет меняться доступность следующих ниже полей.
  • Основная роль - в этом поле можно установить значение Да или Нет. Если пользователь включен в нескольно ролей, то среди них можно выделить одну основную. Разработчик прикладного решения на платформе сможет использовать это значение для управления доступом к объектам системы. Поле доступно для выбора значения только в том случае, если в поле Пользователь выбран именно пользователь, а не роль.
  • Добавить связанные роли - в этом поле можно установить значение Да или Нет. Поле доступно для выбора значения только в том случае, если в поле Пользователь выбрана роль. При установке значения Да в роль будут включены также все роли, входящие в выбранную. при установке значения Нет будет включена только одна роль без подчиненных ролей.

После включения пользователя в роль он получает права доступа ко всем визуальным группам и формам, а также к группам запретов, заданным для роли.

4. Формирование перечня доступных визуальных групп

Визуальные группы создаются разработчиком прикладного решения. Работа с визуальными группами ведется в Системной форме на вкладке Визуальные группы. Каждая визуальная группа содержит набор форм и также может быть снабжена иконкой. Визуальные группы отображаются на Консоли управления, которая показывается при запуске системы.

Для каждой роли (или для отдельного пользователя) формируется перечень визуальных групп, которые будут ему доступны на Консоли управления. Если визуальных групп в прикладном решение не создано, или если пользователю не доступно ни одной визуальной группы, консоль управления не будет отображена. В этом случае при открытии системы пользователь увидит первую из доступных ему форм, которая открывается автоматически.

Для добавления новой визуальной группы, доступной роли или пользователю, необходимо выбрать роль или пользователя на соответствующей вкладке (Роли или Пользователи), отрыть подчиненное представление Доступные визуальные группы и выполнить в нем действие Создать. В форме параметров нужно выбрать одну из существующих визуальных групп. Если необходимо дать доступ к нескольким визуальным группам, действие создания нужно повторить.

Если пользователь включен в несколько ролей, то достаточно наличия доступа к визуальной группе в одной из этих ролей.

5. Формирование перечня доступных форм

Формы создаются разработчиком прикладного решения. Работа с визуальными группами ведется в Системной форме на вкладке Формы. Каждая форма представляет собой набор представлений, связанных друг с другом определенным образом. Иконки всех форм, доступных пользователю, отображаются на Панели инструментов в верхней части экрана. Нажимая на одну из иконок форм, пользователь может переключаться между ними. Если форма входит в одну из доступных пользователю визуальных групп, она отобразится на консоли управления. В этом случае переключаться между формами пользователь сможет как на Панели инструментов, так и на Консоли управления.

Для каждой роли (или для отдельного пользователя) формируется перечень форм, которые будут ему доступны на Консоли управления. При открытии системы пользователь видит первую из доступных ему форм, открываемую автоматически.

Для добавления новой формы, доступной роли или пользователю, необходимо выбрать роль или пользователя на соответствующей вкладке (Роли или Пользователи), отрыть подчиненное представление Доступные формы и выполнить в нем действие Создать. В форме параметров нужно выбрать одну из существующих форм. Если необходимо дать доступ к нескольким формам, действие создания нужно повторить.

Если пользователь включен в несколько ролей, то достаточно наличия доступа к форме в одной из этих ролей.

6. Формирование перечня групп запретов

Группы запретов могут формироваться как разработчиком прикладного решения, так и администратором системы. Работа с группами запретов ведется на соответствующей вкладке Системной формы. В каждую группу запретов включаются запреты трех видов:

  • Запрет на класс
  • Запрет на свойство
  • Запрет на подпрограмму

Запреты на класс и свойство могут даваться как только на запись, так и на чтение и запись объектов. Наличие запретов для определенной роли или пользователя приводит к тому, что пользователь не видит или не имеет прав на модификацю объетов определенных классов или отдельных их свойств. Запреты на подпрограммы выражаются в том, что для пользователя не отображаются действия, вызывающие ряд подпрограмм.


Мельница данных ((раздел целиком))

Мельница данных- Класс TInstantMessage (Сообщения) (раздел целиком) (23.04.2022) (одним файлом)
Класс TInstantMessage (Сообщения)
Унаследован от класса TObject (Объекты) .

1. Конструктор TInstantMessage.Create (Конструктор сообщения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
User (Пользователь) | TUser required domain (Пользователь) |  | Доступен |
FormView (Представление формы) | TFormView domain (Представления форм) |  | Доступен |
Object (Объект) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TInstantMessage (Сообщения) .

2. Поле TInstantMessage.FFormView (Представление формы)
FFormView: TFormView domain (Представления форм) .

Используется для хранения значений свойства TInstantMessage.FormView (Представление формы)
.

3. Поле TInstantMessage.FObject (Объект)
FObject: TObject domain (Объект) .

Используется для хранения значений свойства TInstantMessage.Object (Объект)
.

4. Поле TInstantMessage.FUser (Пользователь)
FUser: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TInstantMessage.User (Пользователь)
.

5. Поле TInstantMessage.FViewed (Просмотрено)
FViewed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TInstantMessage.Viewed (Просмотрено)
.

6. Свойство TInstantMessage.Form (Форма)
Form: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

Дочернее свойство свойства FormView (Представление формы) .

7. Свойство TInstantMessage.FormView (Представление формы)
FormView: TFormView domain (Представления форм) .

Для чтения и записи свойства используется поле TInstantMessage.FFormView (Представление формы) .

8. Свойство TInstantMessage.IsAccessible (Форма доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TForm.GetIsAccessible (Доступна) .

Дочернее свойство свойства Form (Форма) .

9. Свойство TInstantMessage.IsCurrent (Текущему пользователю)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

Дочернее свойство свойства User (Пользователь) .

10. Свойство TInstantMessage.Object (Объект)
Object: TObject domain (Объект) .

Для чтения и записи свойства используется поле TInstantMessage.FObject (Объект) .

11. Свойство TInstantMessage.User (Пользователь)
User: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInstantMessage.FUser (Пользователь) .

12. Свойство TInstantMessage.Viewed (Просмотрено)
Viewed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TInstantMessage.FViewed (Просмотрено) .


Мельница данных ((раздел целиком))

Мельница данных- Руководство разработчика для построителя запросов (раздел целиком) (23.04.2022) (одним файлом)
Руководство разработчика для построителя запросов

1. Информация о приложении
Приложение QueryBuilder представляет собой документ-ориентированное MDI-проиложение.
Документом является запрос. Запросы сохраняются в файле с расширением .MQR. Файлы запросов представляют собой xml-документы определенной структуры. Для доступа к данным БД приложение использует провайдеры данных - библиотеки объектов, реализующих опубликованные интерфейсы. Идентификатор использованного для построения запроса провайдера сохраняется в файле запроса. Если открыть файл с провайдером, не соответствующим текущему, будет выдано предупреждение.

2. Требования к провайдеру

Интерфейсы провайдера описаны в библиотеке типов файла QueryBuilder.exe и в файле QueryBuilder_TLB.pas. Собственно, объект-провайдер реализует Интерфейс IInfoProvider. Каждый CoClass, реализующий указанный интерфейс, прописывается в ветке реестра HKLM\Software\QueryBuilder\Providers добавлением параметра, имя которого определяет наименование провайдера, а значение - CLSID провайдера.

Метаданные (информация о таблицах, полях и типах данных) предоставляются в виде именованных элементов, то есть каждый из них реализует интерфейс INamedItemInfo

2.1. Интерфейс IInfoProvider
Провайдер реализует интерфейс
  IInfoProvider = interface(IUnknown)
    ['{64F8072B-7250-4C57-BA8E-D018C7B72CC7}']
    function Get_TableCount: Integer; safecall;
    function Get_Table(Index: Integer): ITableInfo; safecall;
    function Perform(const SQL: WideString): IDataSet; safecall;
    procedure Connect(const DataBase: WideString;
      const UserName: WideString;
      const Password: WideString); safecall;
    function Get_CLSID: TGUID; safecall;
    function Get_DateLiteral: WideString; safecall;
    function Get_TimeLiteral: WideString; safecall;
    function Get_DateTimeLiteral: WideString; safecall;
  end;
  • функция Get_CLSID возвращает GUID класса-провайдера.
  • процедура Connect осуществляет соединение с БД.
  • функция Get_TableCount возвращает количество таблиц, доступ к которым предоставляется провайдером.
  • функция Get_Table возвращает ссылку на информацию о таблице с номером Index. Ссылка на интерфейс ITableInfo или интерфейс ITableInfo2
  • функция Perform принимает текст сформированного SQL-запроса и возвращает ссылку на набор данных. Набор данных реализует интерфейс IDataSet.
  • функция Get_DateLiteral возвращает строку, определяющую способ включения в запрос литерала типа "Дата".
  • функция Get_TimeLiteral возвращает строку, определяющую способ включения в запрос литерала типа "Время".
  • функция Get_DateTimeLiteralвозвращает строку, определяющую способ включения в запрос литерала типа "Дата со временем".

2.2. Интерфейс IDataSet
Набор данных реализует интерфейс
   IDataSet = interface(IUnknown)
    ['{3CED7395-8482-4EF6-8A15-7744348063C2}']
    function Get_FieldCount: Integer; safecall;
    function Get_FieldName(Index: Integer): WideString; safecall;
    function Get_Field(FieldIndex: OleVariant): OleVariant; safecall;
    procedure Next; safecall;
    function Eof: WordBool; safecall;
  end;
Набор данных представляет собой однонаправленный курсор, каждая строка которого является набором именованных и нумерованных полей.
  • процедура Next осуществляет переход к следующей записи курсора.
  • функция Eof возвращает True в случае достижения конца курсора.
  • функция Get_FieldCount возвращает количество полей в строке курсора.
  • функция Get_FieldName возвращает имя поля с номером Index.
  • функция Get_Field возвращает значение поля, имя или номер которого задан параметром (если строка, то имя, если число, то номер). Допустимо возвращать значение Null для пустых полей.

2.3. Интерфейс INamedItemInfo
Каждый элемент метаданных (таблица, поле, тип) обязательно реализует интерфейс
  INamedItemInfo = interface(IUnknown)
    ['{14894363-28DA-4E71-B0BC-9C5CE811BC8F}']
    function Get_Name: WideString; safecall;
    function Get_Caption: WideString; safecall;
    function Get_ID: WideString; safecall;
  end;

Именованный элемент имеет имя, наименование и идентификатор. Имя используется для именования сущности в сформированном SQL-запросе, идентификатор необходим для идентификации сущности в рамках провайдера, таблицы и типы данных имеют глобальное пространство идентификаторов, поля имеют уникальные идентификаторы в пределах последовательности наследуемых таблиц. Никаких ограничений на значения идентификаторов, кроме уникальности, не накладывается.

  • функция Get_Name возвращает имя сущности.
  • функция Get_Caption возвращает наименование сущности.
  • функция Get_ID возвращает идентификатор сущности.

2.4. Интерфейс ITableInfo
Информация о таблице представляется объектом через интерфейс (наследник INamedItemInfo )
  ITableInfo = interface(INamedItemInfo)
    ['{3FC1998A-9031-4936-82B5-8CAA2219085E}']
    function Get_FieldCount: Integer; safecall;
    function Get_Field(Index: Integer): IFieldInfo; safecall;
    function Get_PrimaryKey: IFieldInfo; safecall;
    function Get_Uplink: IFieldInfo; safecall;
    function Get_Parent: ITableInfo; safecall;
  end;
  • функция Get_FieldCount возвращает количество полей в таблице.
  • функция Get_Field возвращает ссылку на поле с номером Index. Ссылка на интерфейс IFieldInfo
  • функция Get_PrimaryKey возвращает ссылку на поле, являющееся первичным ключем. Это поле должно быть задано.
  • функция Get_Uplink возвращает ссылку на поле, осуществляющее иерархическую связь между записями таблицы. Если это поле задано, записи отображаются в виде иерархии.
  • функция Get_Parent возвращает ссылку на родительскую таблицу. Дочерняя таблица связана с родительской первичными ключами, т. е. соотношением 1:1. Если таблица не имеет родительской, возвращается nil.

2.4.1. Интерфейс ITableInfo2
Для таблиц, имеющих полиморфные ссылки, реализуется интерфейс (наследник ITableInfo )
  ITableInfo2 = interface(ITableInfo)
    ['{9DF4C8AC-1DA2-4E7B-BF44-7EDD7A269418}']
    function Get_PolymorphCount: Integer; safecall;
    function Get_PolymorphTable(Index: Integer): ITableInfo; safecall;
    function Get_PolymorphField(Index: Integer): IFieldInfo; safecall;
  end;
Полиморфной ссылкой является, например, ссылка, физически размещенная в родительской таблице, указывающая на свою запись. Реализация этого интерфейса не является обязательной.
  • функция Get_PolymorphCount возвращает количество полиморфных ссылок.
  • функция Get_PolymorphTable возвращает ссылку на таблицу, на которую указывает полиморфная ссылка номер Index.
  • функция Get_PolymorphTable возвращает ссылку на поле, реализующее полиморфную ссылку номер Index. Это поле должно иметь тип dtReference, информация о его типе должна реализовать интерфейс IReferenceInfo. Значение, возвращаемое функцией Get_TargetTable этого интерфейса в данном случае не имеет значения и игнорируется.

2.4.2. Интерфейс ITableInfo3
Для таблиц, при запросах к которым требуется наложение дополнительных условий отбора, реализуется интерфейс (наследник ITableInfo )
  ITableInfo3 = interface(ITableInfo)
    ['{3FB73AA9-010C-48DA-81C7-E1DCFE2E6136}']
    function GetPersistentClause(const Alias: WideString): WideString; safecall;
    function GetPreConditionsCount: Integer; safecall;
    function GetPreConditionCaption(Index: Integer): WideString; safecall;
    function GetPreConditionCategory(Index: Integer): WideString; safecall;
    function Get_ActivePreCondition(Index: Integer): WordBool; safecall;
    procedure Set_ActivePreCondition(Index: Integer; Value: WordBool); safecall;
    function GetPreConditionParamsCount(Index: Integer): Integer; safecall;
    function GetPreConditionParam(Index: Integer; PreConditionIndex: Integer): IOptionInfo; safecall;
  end;
  • функция GetPersistentClause возвращает выражение дополнительного условия отбора. Алиас таблицы передается в параметре Alias.

2.5. Интерфейс IFieldInfo
Информация о поле поставляется объектом, реализующим интерфейс (наследник INamedItemInfo )
  IFieldInfo = interface(INamedItemInfo)
    ['{19054DAD-8D35-4B39-8EB7-FD3254BD2934}']
    function Get_TypeInfo: ITypeInfo; safecall;
    function Get_DisplayMode: TDisplayMode; safecall;
  end;
  • функция Get_DisplayMode возвращает роль поля при показе таблицы. Возможные значения (тип TDisplayMode):
    • dmAlways - поле является ключевым, всегда показывается
    • dmNever - поле является служебным (первичным ключем, например). Никогда не показывается.
    • dmOnDemand - поле является обычным информационным, показывается по требованию пользователя.
  • функция Get_TypeInfo возвращает ссылку на информацию о типе данных поля. Возвращаете ссылку на один из интерфейсов-наследников интерфейса ITypeInfo

2.6. Интерфейс ITypeInfo
Информация о типах полей поставляется в виде набора объектов, каждый из которых реализует интерфейс (наследник INamedItemInfo )
  ITypeInfo = interface(INamedItemInfo)
    ['{2B6A5E20-3C36-4574-89DB-7C873A5C4A00}']
    function Get_Required: WordBool; safecall;
    function Get_SimpleType: TSimpleType; safecall;
  end;
Информация о конкретном типе передается при помощи реализации одного из наследников этого интерфейса.
  • функция Get_Required возвращает True, если значение поля обязательно для задания.
  • функция Get_SimpleType возвращает информацию о простом типе данных. В зависимости от возвращаемого значения объект должен также реализовывать один из интерфейсов конкретных типов (см. далее). Возможные значения (тип TSimpleType ):
    • dtString - строковый тип. Обязательно реализуется интерфейс IStringInfo
    • dtInteger - целочисленный тип. Обязательно реализуется интерфейс IIntegerInfo
    • dtFloat - вещественный тип. Обязательно реализуется интерфейс IFloatInfo
    • dtDate - тип "дата". Обязательно реализуется интерфейс IDateInfo
    • dtTime - тип "время". Обязательно реализуется интерфейс ITimeInfo
    • dtDateTime - тип "дата со временем". Обязательно реализуется интерфейс IDateTimeInfo
    • dtBoolean - логический тип. Обязательно реализуется интерфейс IBooleanInfo
    • dtEnumeration - перечисление. Обязательно реализуется интерфейс IEnumerationInfo
    • dtReference - ссылка. Обязательно реализуется интерфейс IReferenceInfo
    • dtBlob - Большой двоичный объект. Обязательно реализуется интерфейс IBlobInfo.

2.6.1. Интерфейс ITypeInfo2
Информация о предоставляемых провайдером дополнительных возможностях фильтрации (наследник интерфейса ITypeInfo)
  ITypeInfo2 = interface(ITypeInfo)
    ['{77F58BDF-F01C-40F3-B193-1027AD8C4EDA}']
    function GetSpecialFilterCount: Integer; safecall;
    function GetSpecialFilterText(Index: Integer): WideString; safecall;
    function EditSpecialFilter(Index: Integer; var Filter: WideString): WordBool; safecall;
  end;
  • функция GetSpecialFilterCount возвращает количество дополнительных элементов списка, выпадающего при выборе фильтра по колонке.
  • функция GetSpecialFilterText возвращает текст дополнительного элемента списка, выпадающего при выборе фильтра по колонке, с номером Index.
  • функция EditSpecialFilter вызывается в момент выбора пользователем дополнительного элемента списка, выпадающего при выборе фильтра по колонке, с номером Index. Значение выражения фильтра передается и возвращается в параметре Filter. Функция возвращает True в случае, если выражение, возвращенное в параметре Filter нужно применить для фильтрации столбца запроса, False - в противном случае.

2.6.2. Интерфейс IStringInfo
Информация о строковом типе (наследник интерфейса ITypeInfo)
  IStringInfo = interface(ITypeInfo)
    ['{74AC4C03-E803-421B-B30D-1A2D2C49827F}']
    function Get_Length: Integer; safecall;
  end;
  • функция Get_Length возвращает максимальную длину строки.

2.6.3. Интерфейс IIntegerInfo
Информация о целочисленном типе (наследник интерфейса ITypeInfo)
  IIntegerInfo = interface(ITypeInfo)
    ['{9003B25E-926D-42AE-A907-813DF3A8343E}']
    function Get_MaxValue: Integer; safecall;
    function Get_MaxValueUsed: WordBool; safecall;
    function Get_MinValue: Integer; safecall;
    function Get_MinValueUsed: WordBool; safecall;
  end;
  • функция Get_MaxValueUsed возвращает True, если значение имеет верхнюю границу.
  • функция Get_MaxValue возвращает верхнюю границу значения, если есть.
  • функция Get_MinValueUsed возвращает True, если значение имеет нижнюю границу.
  • функция Get_MinValue возвращает нижнюю границу значения, если есть.

2.6.4. Интерфейс IFloatInfo
Информация о вещественном типе (наследник интерфейса ITypeInfo )
  IFloatInfo = interface(ITypeInfo)
    ['{E9B56C6D-47DC-4AB9-9E80-6EEF77708704}']
    function Get_MaxValue: Double; safecall;
    function Get_MaxValueUsed: WordBool; safecall;
    function Get_MinValue: Double; safecall;
    function Get_MinValueUsed: WordBool; safecall;
    function Get_Precision: Integer; safecall;
    function Get_Scale: Integer; safecall;
  end;
  • функция Get_MaxValueUsed возвращает True, если значение имеет верхнюю границу.
  • функция Get_MaxValue возвращает верхнюю границу значения, если есть.
  • функция Get_MinValueUsed возвращает True, если значение имеет нижнюю границу.
  • функция Get_MinValue возвращает нижнюю границу значения, если есть.
  • функция Get_Precision возвращает максимальное количество значащих десятичных цифр в значении.
  • функция Get_Scale возвращает максимальное количество десятичных цифр после запятой.

2.6.5. Интерфейс IDateInfo
Информация о типе "Дата" (без времени) (наследник интерфейса ITypeInfo )
  IDateInfo = interface(ITypeInfo)
    ['{DA392510-105F-4655-9A38-18ECA2FBEB97}']
  end;
Не имеет методов.

2.6.6. Интерфейс ITimeInfo
Информация о типе "Время" (без даты) (наследник интерфейса ITypeInfo )
  ITimeInfo = interface(ITypeInfo)
    ['{D7067CAC-67A5-41DB-8D95-40409D8658AB}']
  end;
Не имеет методов.

2.6.7. Интерфейс IDateTimeInfo
Информация о типе "Дата со времемем" (наследник интерфейса ITypeInfo )
  IDateTimeInfo = interface(ITypeInfo)
    ['{7F5CC8F9-8CE1-4DB7-8932-884EF3BAB538}']
  end;
Не имеет методов.

2.6.8. Интерфейс IBooleanInfo
Информация о логическом типе (наследник интерфейса ITypeInfo )
  IBooleanInfo = interface(ITypeInfo)
    ['{8256EDF9-8613-4970-850C-50047839D6BF}']
    function Get_TrueValue: WideString; safecall;
    function Get_FalseValue: WideString; safecall;
  end;
  • функция Get_TrueValue возвращает отображаемую строку для значения True (например, "Да").
  • функция Get_FalseValue возвращает отображаемую строку для значения False (например, "Нет").

2.6.9. Интерфейс IEnumerationInfo
Информация о перечислимом типе (наследник интерфейса ITypeInfo )
  IEnumerationInfo = interface(ITypeInfo)
    ['{B58A3F23-1AAC-4420-ADFF-B23B9938A994}']
    function Get_ItemCount: Integer; safecall;
    function Get_Item(Index: Integer): IEnumerationItem; safecall;
  end;
Перечислимый тип определяет набор значений, которые может принимать поле. Значения в таблице трактуются как равные имени элемента перечисления.
  • функция Get_ItemCount возвращает количество элементов перечисления.
  • функция Get_Item возвращает ссылку на элемент перечисления с номером Index, реализующий интерфейс IEnumerationItem

2.6.10. Интерфейс IReferenceInfo
Информация о типе "ссылка" (наследник интерфейса ITypeInfo )
  IReferenceInfo = interface(ITypeInfo)
    ['{309C8CB1-4A1C-4E58-BC3F-D1AF27861A8F}']
    function Get_TargetTable: ITableInfo; safecall;
  end;
  • функция Get_TargetTable возвращает ссылку на таблицу, с которой осуществляется связь. Возвращается ссылка на интерфейс ITableInfo

2.6.11. Интерфейс IBlobInfo
Информация о типе "больших двоичных объектов" (наследник интерфейса ITypeInfo )
  IBlobInfo = interface(ITypeInfo)
    ['{3905C9C4-EAEB-4844-BB55-3F524F1F3FAC}']
    function Get_SubType: TBlobSubType; safecall;
  end;
  • функция Get_SubType возвращает подтип большого двоичного объекта. Одно из следующих значений (тип TBlobSubType ):
    • bsText - текст
    • bsImage - изображение
    • bsBinary - двоичные данные

2.7. Интерфейс IEnumerationItem
Информация об элементе перечисления (наследник INamedItemInfo )
  IEnumerationItem = interface(INamedItemInfo)
    ['{6953507C-D477-4B8D-9443-A9E5FE7137ED}']
    function Get_Position: Integer; safecall;
  end;
Значения в таблице трактуются как равные имени элемента перечисления.
  • функция Get_Position возвращает позицию элемента перечисления.

3. Использование провайдера БД Парус8

3.1. Использование пользовательских приложений.
Библиотека ParusInfoProvider.dll содержит реализацию провайдера для БД Парус8. Провайдер реализует, в дополнение к обязательным, интерфейс, позволяющий управлять им посредством механизма "Пользовательских приложений":
  IParusProvider = interface(IDispatch)
    ['{4864AE99-80E6-4FC6-9DB0-EAB248F72362}']
    procedure Connect(const Database: WideString;
      const UserName: WideString;
      const Password: WideString); safecall;
    property QueryObject: OleVariant;
    property StoredProcObject: OleVariant;
  end;
Объект-провайдер может установить связь с БД либо самостоятельно с использованием переданных в метод Connect параметров соединения, либо с помощью объектов Query и StoredProc , предоставляемых системой Парус8 для использования в пользовательских приложениях. В свою очередь, созданный провайдер с установленным соединением может быть передан в метод Execute объекта QueryBuilder.Application . Вторым параметром может быть передано значение, представляющее структуру запроса. Это может быть либо строка с указанием имени файла, либо объект, реализующий интерфейс IStream (например, MSXML.DOMDocument ), либо строка, представляющая собой xml-документ. Все средства манипуляции структурой и поведением запроса предоставляются на уровне работы с xml-документом, описывающим запрос.
Пример скрипта пользовательского приложения на DelphiScript

procedure QueryBuilderTest;
var
  LApplication: OleVarint;
  LProvider: OleVarint;
  LDocument: OleVariant;
begin
  //описание структуры запроса. Из BLOB, из файла, из строки - откуда угодно
  LDocument := CreateOleObject('MSXML.DOMDocument');
  //LDocument реализует IXMLDOMDocument и IStream
  LDocument.loadXML('<Query Provider="{B3079C97-6EBC-43EB-880F-58F094B322B0}">' +
    '<Item Type="Table" Table="AGNLIST" Alias="MAIN" TableAlias="MAIN">'  +
      '<Item ColumnIndex="0" Type="Field" Field="AGNABBR" Table="AGNLIST" ' +
        'Alias="MAIN_AGNABBR" TableAlias="MAIN"/>' +
      '<Item ColumnIndex="1" Type="Field" Field="VERSION" Table="AGNLIST" ' +
        'Alias="MAIN_VERSION" TableAlias="MAIN"/>' +
    '</Item>' +
  '</Query>');

  //Скрытие дерева структуры
  LDocument.documentElement.setAttribute('TreeWidth', 0);

  //Наложение условий отбора на колонку
  LDocument.selectSingleNode('/*/Item/Item[@Field="AGNABBR" and @Table="AGNLIST"]').
    setAttribute('ColumnFilter', 'Б*');

  //Переименование колонки
  LDocument.selectSingleNode('/*/Item/Item[@Field="VERSION" and @Table="AGNLIST"]').
    setAttribute('Caption', 'Версия');

  //создание провайдера и передача ему объектов для соединения с БД
  LProvider := CreateOleObject('ParusInfoProvider.ParusProvider');
  LProvider.QueryObject := Query;
  LProvider.StoredProcObject := StoredProc;

  //создание и использование объекта-приложения QueryBuilder
  LApplication := CreateOleObject('QueryBuilder.Application');

  //В качестве второго параметра передается ОБЪЕКТ, через
  //   IStream содержащий структуру запроса
  LApplication.Execute(LProvider, LDocument);
  LApplication.Visible := True;

  //Ожидание завершения работы с приложением
  repeat
    Application.ProcessMessages;
  until not LApplication.Visible;

end;
Интерфейс автоматизации поддерживает также метод для автоматического применения шаблона для переноса в Excel.
Допустим, .MQR-файл, описывающий запрос, содержащий шаблон с именем "Простой Перенос" загружен в раздел "Модули пользовательских приложений" с мнемокодом "QueryData". Для этого необходимо создать модуль пользовательского приложения с типом "COM-сервер" или "Надстройка Excel" и загрузить из файла .MQR-файл. Проверки соответствия формата загружаемого файла заявленному типу модуля пользовательского приложения Парус не производит, что позволяет воспользоваться этим трюком. Тогда:
procedure QueryBuilderTemplateTest;
var
  LApplication: OleVarint;
  LProvider: OleVarint;
  S: string;
begin
  Query.SQL.Text := 'select BMODULE from V_UAMODULES where SCODE = :CODE';
  //мнемокод модуля пользовательского приложения, содержащего
  //загруженный .MQR-файл
  Query.ParamByName('CODE').Value := 'QueryData';
  Query.Open;
  S := Query.FieldByName('BMODULE').AsString;
  Query.Close;

 //создание провайдера и передача ему объектов для соединения с БД
  LProvider := CreateOleObject('ParusInfoProvider.ParusProvider');
  LProvider.QueryObject := Query;
  LProvider.StoredProcObject := StoredProc;

  //создание и использование объекта-приложения QueryBuilder
  LApplication := CreateOleObject('QueryBuilder.Application');

  //В качестве второго параметра передается СТРОКА, содержащая xml с описанием
  //структуры запроса и шаблоны для переноса в Excel
  LApplication.ExecuteTemplate(LProvider, S, 'Простой Перенос');
end;

3.2. Информация о базе данных
Провайдер Парус8 предоставляет информацию о четырех типах таблиц:
  1. Представление, описанное при помощи метаданных Парус8 как "вызываемое с клиента". В этом случае полями таблицы являются описанные атрибуты класса с соответствующими типами.
  2. Таблица, имеющая клиентский доступ и связанная с разделом, не имеющим ни одного описанного доступного представления, но имеющим описанные физические атрибуты. Информация о полях берется из метаданных Парус8
  3. Таблица, имеющая клиентский доступ и связанная с разделом, не имеющим ни одного описанного доступного представления, и не имеющим описанных атрибутов. Информация о полях берется из метаданных Oracle.
  4. Таблица, имеющая клиентский доступ и не связанная ни с каким разделом. Информация о полях берется из метаданных Oracle.

4. Разработка шаблонов

Шаблон представляет собой обычную рабочую книгу Excel.

Шаблоны для переноса данных в Excel физически интегрируются внутрь .MQR-файла и хранятся вместе с запросом. Разработку шаблона можно вести независимо, используя только Microsoft Excel (запуская его самостоятельно), а потом загрузить в файл запроса, а можно воспользоваться пунктом меню "Редактировать" на странице "Шаблоны".

Для взаимодействия с источником данных рабочая книга-шаблон должна содержать в любом модуле макрос с именем "Template" (без кавычек) с одним параметром. При выполнении переноса данных по этому шаблону QueryBuilder произведет вызов этого метода, передав в качестве фактического значения параметра объект, реализующий интерфейс IExternalQuery. Никаких других требований к рабочей книге-шаблону не выдвигается.
В примере показан запрос на таблицу AGNLIST (провайдер Oracle), показывающий как простой перенос данных, так и сводную таблицу со сводной диаграммой распределения записей таблицы по полю CRN.
Пример запроса с шаблонами
В примере показан запрос на таблицу "TField" (провайдер Мельницы Данных), показывающий как простой перенос данных, так и сводную таблицу со сводной диаграммой распределения записей таблицы.
Пример запроса с шаблонами для Мельницы Данных`

4.1. Интерфейс IExternalQuery
Объект, реализующий этот интерфейс, передается в макрос генерации отчета Excel (Template). Все его свойства и методы доступны для испоьзования в процессе генерации отчета
  IExternalQuery = interface(IDispatch)
    ['{1A86D1DA-A56E-4D53-88F9-7A035D7D12B4}']
    function Select(const SQL: WideString): IExternalDataSet; safecall;
    function SelectedRecordsCount: Integer; safecall;
    function SelectedRecord(Index: Integer): OleVariant; safecall;
    procedure PlaceCurrentQuery(const Sheet: IDispatch;
      CaptionsNeeded: WordBool = False; Row: Integer = 1;
      Column: Integer = 1; ShiftRows: WordBool = True;
      ShiftColumns: WordBool = False); safecall;
    procedure PlaceQuery(const Sheet: IDispatch; const DataSet: ExternalDataSet;
      Row: Integer = 1; Column: Integer = 1; ShiftRows: WordBool = True;
      ShiftColumns: WordBool = False); safecall;
    property CurrentQuery: WideString;
  end;
  • функция Select возвращает объект, реализующий интерфейс IExternalDataSet с данными, полученными в результате запроса, заданного параметром SQL. Фактически метод является оберткой метода Perform объекта-провайдера IInfoProvider
  • функция SelectedRecordsCount возвращает количество записей, отмеченных пользователем в гриде в момент выгрузки в Excel
  • функция SelectedRecord возвращает первичный ключ отмеченной пользователем записи с номером Index
  • процедура PlaceCurrentQuery осуществляет перенос в указанное положение указанного рабочего листа данных текущего табличного представления. Параметр Sheet указывает на рабочий лист Excel, на который будет осуществляться перенос, параметр CaptionsNeeded определяет необходимость переноса заголовков колонок, параметры Row и Column определяют соответственно номер строки и столбца на рабочем листе Excel, начиная с которых будут расположены данные. Параметр ShiftRows определяет необходимость сдвига строк вниз при переносе данных (информация в ячейках, лежащих НИЖЕ строки, определенной параметром Row, будет либо затерта, либо сдвинута на требуемое число строк вниз. Параметр ShiftColumns определяет необходимость сдвига колонок вправо при переносе данных (информация в ячейках, лежащих ПРАВЕЕ столбца, определенного параметром Column, будет либо затерта, либо сдвинута на требуемое число строк вниз.
  • процедура PlaceQuery осуществляет перенос в указанное положение указанного рабочего листа данных заданного параметром DataSet набора данных. Параметр Sheet указывает на рабочий лист Excel, на который будет осуществляться перенос, параметр CaptionsNeeded определяет необходимость переноса заголовков колонок, параметры Row и Column определяют соответственно номер строки и столбца на рабочем листе Excel, начиная с которых будут расположены данные. Параметр ShiftRows определяет необходимость сдвига строк вниз при переносе данных (информация в ячейках, лежащих НИЖЕ строки, определенной параметром Row, будет либо затерта, либо сдвинута на требуемое число строк вниз. Параметр ShiftColumns определяет необходимость сдвига колонок вправо при переносе данных (информация в ячейках, лежащих ПРАВЕЕ столбца, определенного параметром Column, будет либо затерта, либо сдвинута на требуемое число строк вниз.
  • свойство CurrentQuery возвращает строку запроса, на основе которого постоено текущее табличное представление.

4.2. Интерфейс IExternalDataSet
Фактически, обертка над интерфейсом IDataSet .
  IExternalDataSet = interface(IDispatch)
    ['{CDC7992C-BB30-431C-9F81-3215175AD5AB}']
    procedure Next; safecall;
    function Eof: WordBool; safecall;
    property FieldCount: Integer;
    property FieldName[Index: Integer]: WideString;
    property Field[FieldIndex: OleVariant]: OleVariant;
  end;
Набор данных представляет собой однонаправленный курсор, каждая строка которого является набором именованных и нумерованных полей.
  • процедура Next осуществляет переход к следующей записи курсора.
  • функция Eof возвращает True в случае достижения конца курсора.
  • свойство FieldCount возвращает количество полей в строке курсора.
  • свойство FieldName возвращает имя поля с номером Index.
  • свойство Field возвращает значение поля, имя или номер которого задан параметром (если строка, то имя, если число, то номер). Допустимо возвращать значение Null для пустых полей.

5. Интерфейс автоматизации
Взаимодействие внешних приложений с QueryBuilder'ом осуществляется при помощи интерфейса
  IApplication = interface(IDispatch)
    ['{0E59D500-7A6A-43CA-8007-B7BB7E393CD4}']
    procedure Execute(const Provider: IUnknown; var Query: OleVariant); safecall;
    procedure ExecuteTemplate(const Provider: IUnknown; var Query: OleVariant;
      const TemplateName: WideString); safecall;
    property Visible: WordBool;
  end;
  • Свойство Visible определяет видимость приложения
  • Процедура Execute осуществляет выполнение запроса. Первым параметром является объект-провайдер (созданный заранее внешним образом и установивший соединение с БД также заранее). Вторым параметром может быть передано значение, представляющее структуру запроса. Это может быть либо строка с указанием имени файла, либо объект, реализующий интерфейс IStream (например, MSXML.DOMDocument ), либо строка, представляющая собой xml-документ. Все средства манипуляции структурой и поведением запроса предоставляются на уровне работы с xml-документом, описывающим запрос.
  • Процедура ExecuteTemplate осуществляет выполнение запроса и применяет к результатам шаблон с именем, переданным в параметре TemplateName. Первые два параметра аналогичны параметрам метода Execute
Интерфейс автоматизации может быть использован в тех случаях, когда необходима интергация QueryBuilder'a в третьестороннюю информационную систему.


Мельница данных ((раздел целиком))

Мельница данных- Класс TForm (Формы) (раздел целиком) (23.04.2022) (одним файлом)
Класс TForm (Формы)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TFormAccess (Доступ к формам)
  • TFormView (Представления формы)

1. Конструктор TForm.Create (Конструктор формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
AutoOpen (Открывать автоматически) | Boolean (Обычное логическое) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Image (Изображение-иконка) | TImage (Изображение) |  | Доступен |
IsAlive ("Живая") | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TForm (Формы) .

2. Поле TForm.FAutoOpen (Открывать автоматически)
FAutoOpen: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.AutoOpen (Открывать автоматически)
.

3. Поле TForm.FImage (Изображеие-иконка)
FImage: TImage (Изображение) .

Используется для хранения значений свойств:
TForm.Image (Изображение-иконка)
TVisualGroupForm.Image (Изображение)
.

4. Поле TForm.FIsAlive (Живая)
FIsAlive: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.IsAlive ("Живая")
.

5. Поле TForm.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.Position (Позиция)
.

6. Поле TForm.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.Scope (Область видимости)
.

7. Свойство TForm.AutoOpen (Открывать автоматически)
AutoOpen: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FAutoOpen (Открывать автоматически) .

8. Свойство TForm.Image (Изображение-иконка)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TForm.FImage (Изображеие-иконка) .

9. Свойство TForm.IsAccessible (Доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TForm.GetIsAccessible (Доступна) .

10. Свойство TForm.IsAlive ("Живая")
IsAlive: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FIsAlive (Живая) .

11. Свойство TForm.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FPosition (Позиция) .

12. Свойство TForm.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TForm.FScope (Область видимости) .

13. Функция TForm.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойств:
TForm.IsAccessible (Доступна)
TInstantMessage.IsAccessible (Форма доступна)
.

14. Функция TForm.GetNextPos (Следующая позиция)
Является методом класса.

Возвращает значение типа Integer (Целое) .

Используется для инициализации значения параметра Position (Позиция) подпрограммы TForm.Create (Конструктор формы)
.


Мельница данных ((раздел целиком))

Мельница данных- Руководство администратора (раздел целиком) (23.04.2022) (одним файлом)
Руководство администратора

1. Установка программного обеспечения СУБД

Прежде, чем устанавливать программноге обеспечение "Мельница данных" необходимо установить и настроить программное обеспечение СУБД.

Для конфигурирования сервера БД необходимо последовать советам раздела "Конфигурирование сервера". В этом разделе описаны шаги, которые необходимо предпринять для установки сервера "с нуля". Если сервер БД у вас уже установлен и настроен, то использовать рекомендации этого раздела нет необходимости. Раздел описывает установку сервера БД минимальной поддерживаемой версии в минимально необходимой для работы "Мельницы данных" конфигурации. Если вы собираетесь использовать сервер БД для более широкого круга задач, то пользуйтесь руководствами по соответствующим СУБД.
Документация по СУБД, а также любая другая информация, полученная от производителей СУБД, имеет абсолютный приоритет перед утверждениями настоящего документа.

На каждой рабочей станции должно быть установлено и настроено программное обеспечение клиентской части СУБД. Это, как правило, некий набор библиотек и компонентов, наличие которых необходимо для соединения с сервером БД. Для обеспечения рабочей станции этими компонентами необходимо последовать советам раздела Конфигурирование клиента. В этом разделе описаны шаги, которые необходимо предпринять для установки клиентской части СУБД "с нуля". Если клиентская часть СУБД у вас уже установлена и настроена, то использовать рекомендации этого раздела нет необходимости. Раздел описывает установку клиентской части СУБД минимальной поддерживаемой версии в минимально необходимой для работы "Мельницы данных" конфигурации.

В настоящий момент поддерживаемые СУБД приведены в таблице:
СУБД Минимальная
требуемая версия 		Разработчик Сопровождение в России
Firebird
Open source
1.5.4.4910 http://www.firebirdsql.org
Страница загрузки 		http://www.ibase.ru
Oracle database
Коммерческое ПО
9.2.0.1 http://www.oracle.com
Страница загрузки 		http://www.oracle.com/global/ru/index.html

1.1. Конфигурирование сервера

Младшая тестированная на совместимость версия - 1.5.4.4910. Использование более младшей версии на сервере недопустимо. Шаги установки примерно следующие:

  1. Первая страница содержит логотип проекта Firebird
    Установка FireBird (первая страница)
  2. Вторая страница содержит лицензионное соглашение. Для продолжения установки необходимо установить кнопку "I accept the agreement".
    Установка FireBird (вторая страница)
  3. Третья страница содержит информацию, необходимую для установки.
    Установка FireBird (третья страница)
  4. Четвертая страница позволяет указать папку на диске, в которую будут установлены файлы Firebird.
    Установка FireBird (четвертая страница)
  5. На пятой странице определяется тип установки. Мы конфигурируем сервер БД, и, соответственно, выбираем из выпадающего списка пункт "Full installation of Server and development tools". Необходимо определиться с выбором между различными архитектурами сервера. Если вы затрудняетесь в выборе между вариантами архитектуры сервера, то помните, что для однопроцессорных систем предпочтительнее Super Server, для многопроцессорных используется только Classic Server. Подробности можно посмотреть на сайте сопровождающей компании или на сайте проекта. Особое внимание требуется обратить на работу сервера на процессоре в режиме HyperThreading.
    Установка серверной части FireBird - выбор типа установки
  6. На шестой странице предлагается выбрать имя папки меню "Пуск", в которой будут созданы полезные ярлыки. В нашем случае ярлыки будут созданы для файлов документации, бесполезной в конечном счете для конечного пользователя. Поэтому мы ставим флажок "Don't create any icons".
    Установка FireBird (шестая страница)
  7. На седьмой странице необходимо выбрать параметры установки. Настоятельно рекомендуется включить флажок "Use the Guardian to control the server" и запускать сервер в режиме службы, то есть выбрать кнопку "Run as a Service". Также настоятельно рекомендуется установить флажок "Start Firebird automatically everytime you boot up". Программное обеспечение "Мельница данных" использует в работе библиотеку gds32.dll , загружая ее из системного каталога Windows. Поэтому в целях обеспечения нормальной работы необходимо установить оба флажка - "Copy Firebird client library to <system> directory" и "Generate client library as GDS32.DLL for legacy app. support".
    Установка серверной части FireBird - параметры установки
  8. На восьмой странице необходимо подтвердить установку с выбранными параметрами.
    Установка серверной части FireBird - подтверждение установки
  9. После установки на девятой странице можно ознакомиться с информацией об установленной версии.
    Установка FireBird (девятая страница)
  10. Десятая страница информирует об успешном завершении установки и позволяет запустить сервер немедленно. Рекомендуется установить флажок "Start Firebird Service now".
    Установка серверной части FireBird - установка завершена

Убедиться в том, что сервер установлен и запущен, можно из окна служб (Start → Control Panel → Administrative Tools → Services):

Установленный FireBird в списке сервисов

Использование embedded-сервера вполне допустимо, с учетом ограничений, налагаемых разработчиком. Для использования embedded-сервера необходимо положить файлы (с полным путем) из архива embedded-сервера рядом с исполняемыми файлами нашей системы, и переименовать файл FBEMBED.DLL в GDS32.DLL , примерно следующим образом:

Использование FireBird Embedded

Для работы с embedded-сервером имя сервера в строке соединения указывать нельзя. Кроме того, необходимо соблюдать рекомендации и требования разработчиков сервера.

Младшая тестированная на совместимость версия - 9.2.0.1. Использование более младшей версии недопустимо.

Если вы устанавливаете Oracle не с компакт-дисков, то не пользуйтесь программой автозапуска, лежащей в корне первого установочного диска, а запустите setup.exe из каталога install\win32 на первом установочном диске.

Шаги установки примерно следующие:

  1. Первая страница содержит логотип Oracle и командные кнопки. Для продолжения установки нажмите кнопку "Next".
    Установка Oracle (первая страница)
  2. На второй странице необходимо определиться с путями установки и источника, а также с именем "дома". Настоятельно рекомендуется принять значения, предлагаемые по умолчанию.
    Установка Oracle (вторая страница)
  3. На третьей странице необходимо выбрать устанавливаемый продукт. Для сервера БД необходимо выбрать продукт "Oracle9i Database 9.2.0.1.0".
    Установка серверной части Oracle
  4. На четвертой странице необходимо выбрать тип установки. Для обеспечения требуемой функциональности выберите тип "Standard Edition".
    Установка серверной части Oracle - выбор типа установки
  5. На пятой странице необходимо выбрать параметры базы данных, создаваемой автоматически при установке сервера. Рекомендуется никакой базы данных при установке не создавать, для чего выбрать пункт "Software Only".
    Установка серверной части Oracle - отказ от автоматического создания БД
  6. На шестой странице необходимо выбрать порт TCP/IP, используемый Oracle Services for MTS. По умолчанию 2030.
    Установка серверной части Oracle - порт MTS
  7. На седьмой странице необходимо подтвердить правильность параметров установки.
    Установка серверной части Oracle - подтверждение установки
  8. После окончания процесса вы увидете сообщение об успешном завершении установки. Нажмите кнопку "Exit".
    Установка серверной части Oracle - завершено
  9. После завршения работы инсталлятора автоматически будет запущено приложение "Enterprise Manager Console". Если по каким-либо причинам этого не произошло, запустите это приложение самостоятельно через меню "Пуск". В окне "Add Databases To Tree" нажмите кнопку "Cancel".
    Установка серверной части Oracle - отказ от использования Enterprise Manager Console
  10. Из меню выберите пункт Tools → Service Management → Oracle Net Manager.
    Установка серверной части Oracle - вызов Oracle Net Manager
  11. В появивщемся окне приложения "Oracle Net Manager" раскройте узел дерева "Local", встаньте на узел дерева "Listener" и нажмите на кнопку с большим зеленым плюсом в панели инструменов (слева).
    Установка серверной части Oracle - Oracle Net Manager
  12. В появивщемся окне добавления Listener'a введите имя (по умолчанию - LISTENER). Настоятельно рекомендуется принять умолчание.
    Установка серверной части Oracle - создание Listener'a
  13. Нажмите на кнопку "Add Address" в нижней части окна.
    Установка серверной части Oracle - создание адреса Listener'a
  14. В появившемся окне отображена информация о том, каким образом клиенты будут осуществлять соединение с сервером БД. Настоятельно рекомендуется принять умолчания - протокол TCP/IP, порт 1521.
    Установка серверной части Oracle - адрес Listener'a создан
  15. Из меню выберите пункт File → Save Network Configuration
    Установка серверной части Oracle - сохранение конфигурации
  16. Служба Listener'a будет создана при первой попытке создать базу данных. Закройте приложения "Oracle Net Manager" и "Enterprise Manager Console".

1.2. Конфигурирование клиента

Младшая тестированная на совместимость версия - 1.5.4.4910. Использование более младшей версии на клиенте недопустимо. Шаги установки примерно следующие:

  1. Первая страница содержит логотип проекта Firebird
    Установка FireBird (первая страница)
  2. Вторая страница содержит лицензионное соглашение. Для продолжения установки необходимо установить кнопку "I accept the agreement".
    Установка FireBird (вторая страница)
  3. Третья страница содержит информацию, необходимую для установки.
    Установка FireBird (третья страница)
  4. Четвертая страница позволяет указать папку на диске, в которую будут установлены файлы Firebird.
    Установка FireBird (четвертая страница)
  5. На пятой странице определяется тип установки. Мы конфигурируем клиентскую часть, и, соответственно, выбираем из выпадающего списка пункт "Minimum client install - no server, no tools". Кнопки в списке устанавливаемых компонентов будут автоматически выставлены в правильное положение.
    Установка клиентской части FireBird - выбор типа установки
  6. На шестой странице предлагается выбрать имя папки меню "Пуск", в которой будут созданы полезные ярлыки. В нашем случае ярлыки будут созданы для файлов документации, бесполезной в конечном счете для конечного пользователя. Поэтому мы ставим флажок "Don't create any icons".
    Установка FireBird (шестая страница)
  7. На седьмой странице необходимо выбрать параметры установки. Программное обеспечение "Мельница данных" использует в работе библиотеку gds32.dll, загружая ее из системного каталога Windows. Поэтому в целях обеспечения нормальной работы необходимо установить оба флажка - "Copy Firebird client library to <system> directory" и "Generate client library as GDS32.DLL for legacy app. support".
    Установка клиентской части FireBird - параметры установки
  8. На восьмой странице необходимо подтвердить установку с выбранными параметрами.
    Установка клиентской части FireBird - подтверждение установки
  9. После установки на девятой странице можно ознакомиться с информацией об установленной версии.
    Установка FireBird (девятая страница)
  10. Десятая страница информирует об успешном завершении установки.
    Установка клиентской части FireBird - установка завершена

Младшая тестированная на совместимость версия - 9.2.0.1. Использование более младшей версии на клиенте недопустимо.

Если вы устанавливаете Oracle не с компакт-дисков, то не пользуйтесь программой автозапуска, лежащей в корне первого установочного диска, а запустите setup.exe из каталога install\win32 на первом установочном диске.

Шаги установки примерно следующие:

  1. Первая страница содержит логотип Oracle и командные кнопки. Для продолжения установки нажмите кнопку "Next".
    Установка Oracle (первая страница)
  2. На второй странице необходимо определиться с путями установки и источника, а также с именем "дома". Настоятельно рекомендуется принять значения, предлагаемые по умолчанию.
    Установка Oracle (вторая страница)
  3. На третьей странице необходимо выбрать устанавливаемый продукт. Для рабочей станции необходимо установить продукт "Oracle9i Client 9.2.0.1.0".
    Установка клиентской части Oracle
  4. На четвертой странице необходимо выбрать тип установки. Для обеспечения требуемой функциональности выберите тип "Runtime".
    Установка клиентской части Oracle - выбор типа установки
  5. На пятой странице необходимо подтвердить правильность параметров установки.
    Установка клиентской части Oracle - подтверждение установки
  6. В процессе установки инсталлятор потребует настроить параметры соединения с сервером БД. Для этого запустится отдельный мастер "Oracle Net Configuration Assistant", и процесс установки будет приостановлен на время работы этого мастера.
    Если этого по каким-либо причинам не произошло, то после завершнения установки необходимо запустить это приложение из меню "Пуск" и выполнить описанные в этом и следующих шагах действия.
    На этой (первой) странице мастера необходимо отказаться от использования службы каталогов, выбрав кнопку "No, I will create net service names myself...".
    Установка клиентской части Oracle - конфигурирование подключения к БД - не использовать directory service.
  7. На второй странице мастера необходимо выбрать версию базы данных. Базы данных версии Oracle8 в любом случае не поддерживаются "Мельницей данных", поэтому выберите кнопку "Oracle8i or later database or service".
    Установка клиентской части Oracle - конфигурирование подключения к БД - версия БД
  8. На третьей странице мастера необходимо ввести имя сервиса, идентифицирующего базу данных на сервере (в данном случае - "RTT"). Это имя устанавливается при создании базы данных.
    Установка клиентской части Oracle - конфигурирование подключения к БД - имя сервиса
  9. На четвертой странице мастера выберите из списка доступных для соединения с БД протоколов протокол "TCP".
    Установка клиентской части Oracle - конфигурирование подключения к БД - протокол
  10. На пятой странице мастера введите адрес сервера, на котором установлена БД. Можно вводить как символьное имя сервера, так и IP-адрес. На этой же странице выберите порт TCP/IP, по которому будет производиться соединение с сервером. Порт по умолчанию - 1521.
    Установка клиентской части Oracle - конфигурирование подключения к БД - сервер и порт
  11. На шестой странице мастер предлагает протестировать заданные на предыдущих шагах параметры. Выберите кнопку "Yes, perform a test".
    Установка клиентской части Oracle - конфигурирование подключения к БД - тестирование соединения
  12. Если введенные на предыдущих страницах параметры соединения с БД были заданы корректно, то мастер сообщит об этом:
    Установка клиентской части Oracle - конфигурирование подключения к БД - успешное соединение
  13. На восьмой странице введите имя псевдонима подключения, который будет использоваться в дальнейшем для установки соединения с БД приложениями "Мальницы данных". Во избежание путаницы настоятельно рекомендуется именовать псевдоним так же, как и службу на сервере (в данном случае - RTT). сообщит об этом:
    Установка клиентской части Oracle - конфигурирование подключения к БД - псевдоним соедиения
  14. На девятой странице мастера у вас есть возможность выбрать, настроить еще одно подключение или завершить работу с мастером. После завршения установки вы всегда сможете вернуться к процедуре создания псевдонима подключений, вызвав из меню "Пуск" приложение "Oracle Net Configuration Assistant".
    Установка клиентской части Oracle - конфигурирование подключения к БД - отказ от создания следующего соединения
  15. На десятой странице мастер сообщает об успешном создании псевдонима соединения с БД.
    Установка клиентской части Oracle - конфигурирование подключения к БД - завершено конфигурирование соединения
  16. На десятой странице мастер сообщает об успешном завершении своей работы.
    Установка клиентской части Oracle - конфигурирование подключения к БД - завершено
  17. После завршения работы мастера "Oracle Net Configuration Assistant" вы увидете сообщение об успешном завершении работы инсталлятора. Нажмите кнопку "Exit".
    Установка клиентской части Oracle - завершено

2. Установка программного обеспечения платформы "Мельница данных"

Для установки ПП "Мельница данных" необходимо запустить файл setup.exe, расположенный на поставляемом компакт диске. После запуска программы установки необходимо следовать указаниям мастера установки.

Шаг 1: Выбор языка

Установка Мельницы Выбор языка

Шаг 2: Информация о версии устанавливаемого ПП

Установка Мельницы. Версия ПП

Шаг3: Выбор каталога установки файлов ПП

Установка Мельницы. Папка установки.

Шаг 4: Выбор файла лицензии

Установка Мельницы. Выбор лицензии.

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

Шаг 5: Выбор компонентов для установки

Установка Мельницы. Выбор компонентов.

На данном шаге вам необходимо выбрать набор компонентов для установки на локальный компьютер. В зависимости от специфики использования рабочего места, на которое устанавливается ПО, необходимо выбрать тип установки. Предлагаемые типы установок:

  • Рабочее место пользователя
  • Рабочее место администратора
  • Рабочее место разработчика
  • Только построитель запросов
  • По выбору

Для каждого из типов установки по умолчанию устанавливается свой набор компонентов. Вы можете дополнительно отметить тот или иной необходимый вам компонент для установки. Для выбора будут отображены только те компоненты, которые влачены в указанном вами лицензионном файле.

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

  1. Обозреватель данных
  2. Построитель запросов
  3. Утилита обслуживания баз данных
  4. Утилита слияния баз данных
  5. Инструменты разработчика / Инструмент поставки решений
  6. Отладочный монитор
  7. Документация

Для некоторых из вышеперечисленных компонентов также можно выбрать состав устанавливаемого компонента. Описание назначений поставляемых компонент описано в разделе "Поставляемые компоненты ПП" настоящей документации.

После указания всех параметров мастер установки скопирует файлы на локальный компьютер и создаст в меню программ папку с ярлыками к установленным компонентам:

Установка Мельницы. Ярлыки после установки.

2.1. Поставляемые компоненты ПП "Мельница данных"
Обозреватель данных | Обозреватель данных (DataBrowser) - Основное приложение позволяющее просматривать и модифицировать данные. Приложение используется для разработки прикладных решений. Позволяет описывать объекты БД, их свойства, методы, пользовательские формы и отчеты. Это же приложение используется для работы с разработанными прикладными решения пользователями на локальных рабочих местах.
Утилита обслуживания БД | Утилита обслуживания базы данных (DBSetupShell) - Приложение, позволяющее создавать и обслуживать выбранную базу данных любой из поддерживаемых СУБД. Также при помощи данной утилиты можно создавать и удалять пользователей БД, создавать и восстанавливать резервные копии БД, импортировать и экспортировать данные из/в БД, а также выполнять процедуры по контролю целостности БД.
Построитель запросов | Построитель запросов (QueryBuilder) - Приложение, позволяющее визуальными средствами создавать интерактивные запросы на основе данных хранящихся в используемой БД. Созданные запросы сохраняются в стандартный формате SQL и полностью удовлетворяют архитектуре клиент-сервер. Сохраненные в виде файла запросы могут быть открыты пользователем по необходимости. Полученная таким образом информация будет актуальна в любой момент времени. Также существует возможность создания статистического отчета на основе Excel шаблона.
Отладочный монитор | Отладочный монитор (DebugView) - Средство позволяющее отслеживать все запросы к БД генерируемые "клиентской частью" прикладного решения, а также результат их исполнения сервером СУБД. Используется для отладки в процессе разработки прикладного решения.
Утилита слияния баз данных | Утилита слияния баз данных (Merger) - Данная утилита позволяет сравнивать данные и метаданные 2х различных БД. При помощи данного приложения можно с легкостью перенести, например данные из резервной копии в рабочую БД в случае не преднамеренного удаления большого числа объектов, тем самым избежать необходимости восстановления резервной копии недельной давности. Также используется для обновления версии ПП.
Редактор файлов документации | Редактор файлов документации (HelpEditor) - Незаменимое средство создания электронной справки и файлов документации в стандартном формате chm.

3. Создание и начальная инициализация базы данных

Для создания БД необходимо вопрользоваться утилитой обслуживания базы данных, поставляемой в комплекте ПП. После запуска одноименного приложения откроется окно панели управления утилиты:

После запуска одноименного приложения откроется окно панели управления утилиты:

Создание БД. Утилита обслуживания БД.

Для доступа к задачам необходимо заполнить параметры работы с базой данных:

  1. Источник данных : Необходимо указать используемую СУБД.
  2. База данных : Необходимо указать наименование создаваемого файла БД и его месторасположение. (Пример: c:\databases\base.fdb)
  3. Пользователь : Указать имя пользователя (Администратора) для используемой СУБД. Для Interbase/FireBird - SYSDBA, для Oracle - SYS.
  4. Пароль : Указать пароль пользователя (Администратора) для используемой СУБД. Для Interbase/FireBird - masterkey, для Oracle - SYS.

После заполнения полей параметров можно приступать к созданию БД. Для создания новой базы данных необходимо воспользоваться задачей "Создать новую БД". После нажатия кнопки "Выполнить" будут выполнены команды отображенные в окне "Командная строка".

Днные команды можно выполнить самостоятельно из командной строки операционой системы или из любого другого приложения. Также создать пустую БД можно средствами входящими в комплекты поставок соответствуеющих СУБД.
Создание БД. Вывод консольного приложения.

В окне "Вывод консольного приложения" будет отображен результат выполнения команд по созданию БД. В случае успешного выполнения всех необходимых команд, БД будет создана по указанному в параметрах месторасположению.

После создания пустой БД необходимо наполнить ее системными объектами (метаданными) для последующей работы с ПП "Мельница данных". Для этого необходимо выполнить задачу "Синхронизировать базу данных". После нажатия кнопки "Выполнить" будет автоматически запущен отладочный монитор отображающий процесс наполнения БД необходимыми метаданными. Данный процесс может занять от одной до нескольких минут в зависимости от используемой СУБД и производительности сервера. (Обычно около минуты) По окончании процесса в окне "Вывод консольного приложения" будет отображен результат выполнения инициализации базы данных.

Инициализация БД. Вывод консольного приложения.

Все действия по созданию и инициализации БД выполнены. БД готова к эксплуатации.

4. Управление доступом пользователей

После того, как база данных создана и инициализирована метаданными платформы, доступ к системе будет иметь один пользователь - администратор созданной БД. Добавление других пользователей, ролей пользователей и включение пользователей в роли выполняется в представлениях Пользователи и Роли в Системной форме. После начальной инициализации БД на вкладке Пользователи можно увидеть одного пользователя с именем, соответствующим логину администратора БД (Например, для FireBird пользователь SYSDBA), на вкладке Роли можно увидеть одну роль с наименованием Администраторы. На подчиненных вкладках этих представлений можно увидеть, что пользователь - администратор включен в роль Администраторы.

Профиль пользователя формируется путем определения для него:

  1. Перечня доступных форм
  2. Перечня доступных визуальных групп
  3. Перечня групп запретов

Формирование профиля происходит одинаково как для роли, так и для отдельного пользователя. Однако рекомендуется формировать профили для ролей, а не для отдельных пользователей. В этом случае при подключении к системе новых пользователей, изменении параметров доступа для существующего пользователя достаточно будет включить пользователя в одну из ролей, или исключить его из роли. Роли рекомендуется формировать содержательным образом на основе распределения обязанностей реальных пользователей, работающих с прикладным решением.

4.1. Создание пользователей

Создание пользователя системы включает в себя два этапа:

  1. Создание пользователя БД средствами используемой СУБД. Для этого наряду с возможностями каждой из СУБД Утилитой обслуживания БД предлагается действие Создать пользователя. Предлагаемые Утилитой по умолчанию пути к БД и параметры доступа требуют уточнения в зависимости от условий функционирования реальной БД. Задавать права доступа пользователя к объектам БД на данном этапе не надо.
  2. В Системной форме на вкладке Пользователи создать нового пользователя при помощи соответствующего действия контекстного меню.
    В поле Имя нужно вветси строку, строго соответствующую логину пользователя БД в вернем регистре.
    Особых требований к полю Наименование не предъявляется. Однако рекомендуется вводить в это поле фамилию и имя реального пользователя системы, например, Смирнов Иван Николаевич, что позволить в последующем получать информативные данных об активности пользователей системы.

4.2. Создание ролей

Создание ролей производится на вкладке Роли Системной формы при помощи действия Создать, вызываемого из контекстного меню. Имя и наименование роли могут быть любыми строками. Однако именовать роли по названиям соответствющих функциональных участков системы, например,

  • Начальник отдела кадров
  • Инспектора по работе с личными данными персонала
  • Инспектора по социальным вопросам
В случаях, когда реальные пользователи совмещают несколько ролей, роли лучше формировать отдельно, после чего одного пользователя можно влючить одновременно в несколько ролей.

4.3. Включение пользователей в роли

В роль могут включаться как пользователи, так и другие роли. Для добавления в роль нового члена роли нужно выбрать роль на вкладке Роли, отрыть подчиненную вкладку Члены роли и вызвать на ней действие Создать. Поля формы параметров заполняются следующим образом:

  • Пользователь - в этом поле необходимо выбрать либо одного из пользователей, либо одну из ролей. В зависимости от того, выбран ли пользователь или роль, будет меняться доступность следующих ниже полей.
  • Основная роль - в этом поле можно установить значение Да или Нет. Если пользователь включен в нескольно ролей, то среди них можно выделить одну основную. Разработчик прикладного решения на платформе сможет использовать это значение для управления доступом к объектам системы. Поле доступно для выбора значения только в том случае, если в поле Пользователь выбран именно пользователь, а не роль.
  • Добавить связанные роли - в этом поле можно установить значение Да или Нет. Поле доступно для выбора значения только в том случае, если в поле Пользователь выбрана роль. При установке значения Да в роль будут включены также все роли, входящие в выбранную. при установке значения Нет будет включена только одна роль без подчиненных ролей.

После включения пользователя в роль он получает права доступа ко всем визуальным группам и формам, а также к группам запретов, заданным для роли.

4.4. Формирование перечня доступных визуальных групп

Визуальные группы создаются разработчиком прикладного решения. Работа с визуальными группами ведется в Системной форме на вкладке Визуальные группы. Каждая визуальная группа содержит набор форм и также может быть снабжена иконкой. Визуальные группы отображаются на Консоли управления, которая показывается при запуске системы.

Для каждой роли (или для отдельного пользователя) формируется перечень визуальных групп, которые будут ему доступны на Консоли управления. Если визуальных групп в прикладном решение не создано, или если пользователю не доступно ни одной визуальной группы, консоль управления не будет отображена. В этом случае при открытии системы пользователь увидит первую из доступных ему форм, которая открывается автоматически.

Для добавления новой визуальной группы, доступной роли или пользователю, необходимо выбрать роль или пользователя на соответствующей вкладке (Роли или Пользователи), отрыть подчиненное представление Доступные визуальные группы и выполнить в нем действие Создать. В форме параметров нужно выбрать одну из существующих визуальных групп. Если необходимо дать доступ к нескольким визуальным группам, действие создания нужно повторить.

Если пользователь включен в несколько ролей, то достаточно наличия доступа к визуальной группе в одной из этих ролей.

4.5. Формирование перечня доступных форм

Формы создаются разработчиком прикладного решения. Работа с визуальными группами ведется в Системной форме на вкладке Формы. Каждая форма представляет собой набор представлений, связанных друг с другом определенным образом. Иконки всех форм, доступных пользователю, отображаются на Панели инструментов в верхней части экрана. Нажимая на одну из иконок форм, пользователь может переключаться между ними. Если форма входит в одну из доступных пользователю визуальных групп, она отобразится на консоли управления. В этом случае переключаться между формами пользователь сможет как на Панели инструментов, так и на Консоли управления.

Для каждой роли (или для отдельного пользователя) формируется перечень форм, которые будут ему доступны на Консоли управления. При открытии системы пользователь видит первую из доступных ему форм, открываемую автоматически.

Для добавления новой формы, доступной роли или пользователю, необходимо выбрать роль или пользователя на соответствующей вкладке (Роли или Пользователи), отрыть подчиненное представление Доступные формы и выполнить в нем действие Создать. В форме параметров нужно выбрать одну из существующих форм. Если необходимо дать доступ к нескольким формам, действие создания нужно повторить.

Если пользователь включен в несколько ролей, то достаточно наличия доступа к форме в одной из этих ролей.

4.6. Формирование перечня групп запретов

Группы запретов могут формироваться как разработчиком прикладного решения, так и администратором системы. Работа с группами запретов ведется на соответствующей вкладке Системной формы. В каждую группу запретов включаются запреты трех видов:

  • Запрет на класс
  • Запрет на свойство
  • Запрет на подпрограмму

Запреты на класс и свойство могут даваться как только на запись, так и на чтение и запись объектов. Наличие запретов для определенной роли или пользователя приводит к тому, что пользователь не видит или не имеет прав на модификацю объетов определенных классов или отдельных их свойств. Запреты на подпрограммы выражаются в том, что для пользователя не отображаются действия, вызывающие ряд подпрограмм.


Мельница данных ((раздел целиком))

Мельница данных- Класс TField (Поля) (раздел целиком) (23.04.2022) (одним файлом)
Класс TField (Поля)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) .

1. Конструктор TField.Create (Конструктор поля)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
CreateProperty (Создать свойство) | Boolean (Обычное логическое) |  | Доступен |
CreateConstructorParameter (Создать параметр конструктора) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TField (Поля) .

2. Поле TField.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TField.Domain (Домен)
.

3. Свойство TField.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TField.FDomain (Домен) .

4. Свойство TField.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

5. Свойство TField.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TClassBan (Запрет на класс) (раздел целиком) (23.04.2022) (одним файлом)
Класс TClassBan (Запрет на класс)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

1. Конструктор TClassBan.Create (Конструктор запрета на класс)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |

Конструирует объект класса TClassBan (Запрет на класс) .

2. Поле TClassBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TClassBan.BannedClass (Запрещаемый класс)
.

3. Свойство TClassBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TClassBan.FBannedClass (Запрещенный класс) .


Мельница данных ((раздел целиком))

Мельница данных- Стандартные действия, доступные в любых таблицах данных (раздел целиком) (23.04.2022) (одним файлом)
Стандартные действия, доступные в любых таблицах данных

Ряд стандартных действий, доступных объектов любого типа, может быть вызван из любой таблицы данных. Разработчиком конкретной прикладной системы некоторые из перечисленных в данном разделе действий могут быть скрыты. Также перечень доступных стандартных действий зависит от прав доступа конкретного пользователя.

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

1. Копирование и вставка объектов

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

  1. Выбрать один или несколько объектов, которые Вы хотите скопировать (см. раздел 4.3. "Выбор объектов в таблице данных").
  2. Вызвать действие "Копировать" из контекстного меню или при помощи иконки на панели инструментов.
  3. Перейти в таблицу данных, в которую Вы хотите вставить скопированные объекты.
  4. Вызвать действие "Вставить" из контекстного меню или при помощи иконки на панели инструментов.

При копировании и вставке происходит создание копии объекта. Все свойства нового объекта, кроме свойства "Имя" (или замещающего его свойства), будут такими же, как у первичного объекта. Свойство имя будет равно строке, составленной из слова "Копия " и имени первичного объекта. После вставки объекта значение свойства "Имя" можно изменить.

Действия "Копировать" и "Вставить" имеют соответствующие иконки на панели инструментов:
Кнопка "копировать" Кнопка "вставить"

2. Подменю "Колонка" - работа с колонкой

Действия, доступные в подменю "Колонка" в контекстном меню или на панели инструментов могут быть применены к колонкам любой таблицы данных. Доступность тех или иных действий над колонкой зависит от типа данных, отображаемых в колонке, и от того, какие действия над колонкой уже совершены (например, нельзя вычислить сумму значений строкового типа, или нельзя очистить группировку, если данные не сгруппированы).

Иконка "Колонка" на панели инструментов имеет выпадающие кнопки:
Кнопки подменю работы с колонкой

Действия, доступные в подменю "Колонка", описаны в разделах 4.6. "Скрытие и отображение колонок", 4.8. "Группировка данных в таблицах", 4.10. "Отображение итоговых значений (агрегатов) по колонкам".

3. Подменю "Выбранные" - работа с выбранными объектами

Действия, доступные в подменю "Выбранные" позволяют быстро отбирать и снимать отбор с объектов, а также устанавливать режим отображения в таблице данных только тех объектов, которые помечены как выбранные.

Иконка "Выбранные" на панели инструментов имеет выпадающие кнопки:
Кнопки подменю работы с выбранными объектами

Назначение этих действий описано в разделе 4.3. "Выбор объектов в таблице данных".

4. Перенос в Excel

Данные, отображаемые в любой из таблиц данных, могут быть перенесены в MS Excel. При этом в MS Excel будут сохранены все настройки отображения данных (сортировка по одной или нескольким колонкам, группировка, отображение итоговых значений). Действие "Перенос в Excel" может быть вызвано из контекстного меню или при помощи иконки на панели инструментов. С данными, перенесенными в MS Excel, далее могут производиться любые манипуляции средствами этого приложения.

Если в таблице много записей, то перенос данных в Excel может занять некоторое время. Если это время превышает 10 сек., то отобразится окно, сообщающая, что система находится в работе. В этом окне будет отображен индикатор процесса переноса данных:
Индикатор прогресса переноса данных в Excel

Действие "Перенос в Excel" имеет соответствующую иконку на панели инструментов:
Кнопка переноса в Excel

5. Экспорт данных

Отображаемые в таблицах данных объекты могут быть экспортированы в виде xml-документа. Для того, чтобы осуществить экспорт объектов, необходимо выполнить следующее:

  1. Выбрать объекты, подлежащие экспорту (см. раздел 4.3. "Выбор объектов в таблице данных").
  2. Вызвать действие "Экспортировать" из контекстного меню или при помощи иконки на панели инструментов.
  3. В открывшемся окне сохранения файла указать местоположение и имя файла. Дать файлу расширение .xml.

6. Обновление данных таблицы

После выполнения действий над различными объектами, хранящимися в системе, их новое состояние может сразу не отобразиться в таблице данных. Для того чтобы получить из базы данных последние актуальные данные необходимо воспользоваться действием "Обновить", которое доступно в контекстном меню, при помощи иконки на панели инструментов, а также может быть доступно при нажатии клавиши F5.

Действие "Обновить" имеет соответствующую иконку на панели инструментов:
Кнопка обновления набора данных

7. Доступ к настройкам системы

При наличии соответствующих прав доступа Вы можете просматривать и изменять настройки системы. Доступ к меню настроек осуществляется при помощи действия "Настройки", которое может быть вызвано из контекстного меню или при помощи иконки на панели инструментов. При вызове этого действия отобразится форма задания настроек. Эта форма аналогична форме задания параметров (см. раздел 6 "Работа с формой задания параметров"). Если Вы имеете права администратора системы, то форма задания настроек, кроме кнопок OK и Отмена, будет иметь кнопку "По умолчанию". При нажатии этой кнопки значения, установленные в полях формы станут значениями настроек по умолчанию.

Форма задания настроек системы

Если в системе нет доступных для текущего пользователя настроек, то при вызове действия "Настройки" отобразится окно:
Сообщение об отсутствии доступных настроек

Действие "Настройки" имеет соответствующую иконку на панели инструментов:
Кнопка формы настроек

8. Дополнительные действия, доступные в иерархических таблицах данных

В иерархических таблицах данных дополнительно доступны действия, позволяющие управлять раскрытием и свертыванием элементов иерархии. Эти действия расположены в подменю "Дерево". Иконка "Дерево" на панели инструментов имеет выпадающие кнопки:
Кнопки подменю работы с иерархией

При помощи этих действий можно управлять отображением дерева иерархически организованных объектов следующим образом:

  • Развернуть все - все элементы дерева будут раскрыты.
  • Свернуть все - все дочерние элементы будут свернуты. Отображенными останутся только элементы первого уровня (не имеющие родительских элементов).
  • Развернуть от выбранного - узел дерева, соответствующий выбранному объекту и все его дочерние узлы будут раскрыты.
  • Свернуть к выбранному - узел дерева, соответствующий выбранному объекту у все его дочерние узлы будут свернуты.
  • Свернуть к этому уровню - все узлы дерева, лежащие на том же уровне, что и выбранный объект или на более низких уровнях будут свернуты.
  • Выделить дочерние - все объекты, дочерние по отношению к выбранному, будут выделены.


Мельница данных ((раздел целиком))

Мельница данных- Класс TRoutine (Подпрограмма) (раздел целиком) (23.04.2022) (одним файлом)
Класс TRoutine (Подпрограмма)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) . Объекты могут включать в себя объекты классов:
  • TParameter (Параметры)

1. Конструктор TRoutine.Create (Конструктор подпрограммы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) |  | Доступен |
Domain (Домен результата) | TDomain domain (Домен) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) |  | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) |  | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) |  | Доступен |
Image (Изображение-иконка) | TImage (Изображение) |  | Доступен |

Конструирует объект класса TRoutine (Подпрограмма) .

2. Поле TRoutine.FConfirmation (Текст подтверждения)
FConfirmation: TCaption (Заголовки) .

Используется для хранения значений свойства TRoutine.Confirmation (Текст подтверждения)
.

3. Поле TRoutine.FDomain (Домен результата)
FDomain: TDomain domain (Домен) .

Используется для хранения значений свойства TRoutine.Domain (Домен результата)
.

4. Поле TRoutine.FImage (Изображеие-иконка)
FImage: TImage (Изображение) .

Используется для хранения значений свойства TRoutine.Image (Изображение-иконка)
.

5. Поле TRoutine.FIsClassMethod (Является методом класса)
FIsClassMethod: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.IsClassMethod (Является методом класса)
.

6. Поле TRoutine.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.Scope (Область видимости)
.

7. Поле TRoutine.FScript (Скрипт формы)
FScript: TRoutineScript (Скрипты форм параметров) .

Используется для хранения значений свойства TRoutine.Script (Скрипт формы параметров)
.

8. Поле TRoutine.FUseTabs (Использовать закладки)
FUseTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.UseTabs (Использовать закладки)
.

9. Свойство TRoutine.Confirmation (Текст подтверждения)
Confirmation: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TRoutine.FConfirmation (Текст подтверждения) .

10. Свойство TRoutine.Domain (Домен результата)
Domain: TDomain domain (Домен) .

Для чтения и записи свойства используется поле TRoutine.FDomain (Домен результата) .

11. Свойство TRoutine.Image (Изображение-иконка)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TRoutine.FImage (Изображеие-иконка) .

12. Свойство TRoutine.IsClassMethod (Является методом класса)
IsClassMethod: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FIsClassMethod (Является методом класса) .

13. Свойство TRoutine.ParamCount (Количество параметров)
ParamCount: Integer (Целое) .

Для чтения значения свойства используется функция TRoutine.GetParamCount (Количество параметров) .

14. Свойство TRoutine.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FScope (Область видимости) .

15. Свойство TRoutine.Script (Скрипт формы параметров)
Script: TRoutineScript (Скрипты форм параметров) .

Для чтения и записи свойства используется поле TRoutine.FScript (Скрипт формы) .

16. Свойство TRoutine.UseTabs (Использовать закладки)
UseTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FUseTabs (Использовать закладки) .

17. Функция TRoutine.GetParamCount (Количество параметров)

Возвращает значение типа Integer (Целое) .

Используется для вычисления значений свойства TRoutine.ParamCount (Количество параметров)
.


Мельница данных ((раздел целиком))

Мельница данных- Разработка отчетов (раздел целиком) (23.04.2022) (одним файлом)
Разработка отчетов

1. Создание шаблонов PDF-отчетов

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.

Все размеры графических объектов, размеры страниц, шрифтов и т.п. по умолчанию заданы в миллиметрах.
Для удобства построения шаблона PDF-документа создана функция DrawGrid. При ее включении при отладке при создании шаблона будет отображена визуальная сетка с шагом 5 миллиметров.

1.2. Методы

1.2.1. Свойства документа

Для создания и описания свойств PDF-документа в библиотеке PDFCreator.dll используется класс IPDFDocument, обладающий следующими свойствами:

  • Title (WideString) - заголовок документа. По умолчанию - пустая строка.
    Title = "DOC1"
  • CanEmbedFonts (WordBool) - Признак возможности построения PDF- документа со встроенными шрифтами (Embedded Fonts). В случае включения признака, все объявленные в скрипте шрифты будут включены в сборку документа и будут передаваться целиком вместе с документом. По умолчанию - False.
    CanEmbedFonts = True

CanEmbedFonts = False
  • CanCompress (WordBool) - признак сжатия документа при создании по собственным алгоритмам. По умолчанию - True.
    CanCompress = False

CanCompress = True
  • Author (WideString) - автор документа. По умолчанию - текущий пользователь ОС.
  • Subject (WideString) - описание документа. По умолчанию - пустая строка.
  • Keywords (WideString) - ключевые слова для поиска по документу. По умолчанию - пустая строка.
  • Creator (WideString) - приложение-родитель документа. Указывается в том случае, если документ был сконвертирован из другого формата.
  • PageCount (Integer) - свойство, содержащее общее количество страниц в документе.
  • Pages[Index: Integer]: IPDFPage - свойство документа, предназначенное для перебора страниц документа для совершения над ними однотипных действий.

    Пример использования:

    for I = 0 to PageCount - 1
  Pages(I).rectangle 10,10,10,10, false
next
Save "c:\pdf.pdf"

    Результат: На всех страницах документа будут нарисованы квадраты 10х10 мм.
  • procedure Save(Target: OleVariant) - процедура для сохранения документа PDF на жесткий диск сразу после создания.
    Save "c:\pdf.pdf"
    - сохранит документ в файл c:\pdf.pdf

1.2.2. Свойства страницы

Для создания страницы используется функция

function CreatePage(Parent: OleVariant): IPDFPage;

Параметр Parent указывает страницу-родителя для данной страницы. Если страницы- родителя быть не должно - формат вызова функции примет вид:

set page = CreatePage(Null)

Параметры страницы:

  • Title - заголовок страницы.
    page.Title = "Page name"
  • Width - ширина страницы, миллиметры
    page.Width = 80
  • Height - высота страницы, миллиметры
    page.Height = 80
  • DrawGrid - процедура, выводящая на страницу сетку с шагом 5 миллиметров для удобства отладки вида документа.
  • Perform - процедура, позволяющая выполнить дополнительные команды PostScript на странице.
    page.perform "1 0.7 0 0 k"
    page.perform "0 0 m"

1.2.2.1. Объявление цвета

Для объявления цвета объектов на странице используется цветовая модель R:G:B (Red:Green:Blue). Объявление цвета для выполнения последующих операций (цвет шрифта, цвет линии/фигуры) осуществляется процедурой

procedure SetColor(R: Integer; G: Integer; B: Integer);
Где параметры R, G, B - значения базисных цветов для выбранного цвета (от 0 до 255).

Цвет | R | G | B |
Белый | 255 | 255 | 255 | +++
Черный | 0 | 0 | 0 | +++
Серый | 190 | 190 | 190 | +++
Синий | 0 | 0 | 255 | +++
Красный | 255 | 0 | 0 | +++
Зеленый | 0 | 255 | 0 | +++

Если предварительно цвет не был объявлен, используется цвет по умолчанию - черный (0,0,0)

1.2.3. Графика

1.2.3.1. Линии

Для отрисовки линий используется процедура

procedure Line(X1: Double; Y1: Double; X2: Double; Y2: Double);
Здесь:

  • X1 - координата начала линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y1 - координата начала линии по вертикали в миллиметрах от верхнего левого угла листа.
  • X2 - координата конца линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y2 - координата Конца линии по вертикали в миллиметрах от верхнего левого угла листа.

Для задания толщины линии используется свойство

property LineWidth: Double
Значение толщины задается в миллиметрах. Значение по умолчанию - минимально возможная единица рисования для устройства. Так для монитора - 1 pixel, для принтера - 1 dot (точка)

Для задания стиля отрисовки начала/окончания линии используется свойство property LineCap: TPDFLineCap
Возможные стили:
Значение свойства: | Отображение: | Описание:
0 | Линия 0 | Прямой срез точно по точкам начала и окончания линии (по умолчанию)
1 | Линия 1 | С закруглением
2 | Линия 2 | Прямой срез с продолжением линии на половину толщины линии

Объявление цвета линии.

Две линии разной толщины, с разными окончаниями и цветами:
set page = CreatePage(Null)

page.DrawGrid

page.LineCap = 1

page.LineWidth = 2

page.Line 10, 10, 30, 30

page.LineWidth = 4

page.SetColor 255, 0, 0

page.LineCap = 2

page.Line 10, 30, 30, 10."I

Результат:
2 линии

При необходимости соединения линий под углом в определенной точке можно задать тип соединения. Для объявления типа соединения используется свойство property LineJoin: TPDFLineJoin;
Типы соединения двух линий:
Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пунктир

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

Процедура procedure SetDash(DashArray: OleVariant; Phase: Integer); Здесь DashArray - массив значений в миллиметрах, указывающий последовательность чередования штрихов и пропусков на линии, Phase - смещение в миллиметрах по линии.

Пример 1. Штрих 10 мм, Промежуток 5 мм, Смещения нет
Пример 2. Штрих 10 мм, Промежуток 5 мм, Смещение 5 мм
Пример 3. Различные значения штрихов и промежутков, Смещения нет
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.SetDash Array(10, 5), 0

page.Line 10, 10, 100, 10

page.SetDash Array(10, 5), 5

page.Line 10, 20, 100, 20

page.SetDash Array(10, 5, 3, 2, 12, 20), 0

page.Line 10, 30, 100, 30

Результат:
Пунктир 1

Ломанная линия - здесь непрерывная линия, состоящая из нескольких прямых. Для отображения ломанной используется процедура procedure Poly(Points: OleVariant; Fill: WordBool), где Points - массив координат точек соединяемых прямыми, а Fill - признак заливки полученной замкнутой фигуры (если замкнута).

Пример Звезда без заливки
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), false

Результат:
Звезда
Пример Звезда с заливкой
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), true

Результат:
Звезда заливка

1.2.3.2. Прямоугольник

Rectangle (Прямоугольник) - для создания используется процедура:

procedure Rectangle(X1: Double; Y1: Double; Width: Double; Height: Double; Fill: WordBool);
Здесь:

  • X1 - координата верхнего левого угла прямоугольника по горизонтали в миллиметрах от верхнего левого угла листа шаблона.
  • Y1 - координата верхнего левого угла прямоугольника по вертикали в миллиметрах от верхнего левого угла листа шаблона.
  • Width - ширина прямоугольника с миллиметрах.
  • Height - высота прямоугольника с миллиметрах.
  • Fill - признак заливки прямоугольника (True/False). Если значение True то заливка производится объявленным заранее цветом (см. Объявление цвета). Если False - заливка не производится. Прямоугольник отрисовывается линиями с предварительно заданной толщиной. См. Линии
Пример 1. Создание красного прямоугольника:
set page = CreatePage(Null)

page.SetColor 255, 0, 0

page.Rectangle 10, 15, 40, 20, True

page.DrawGrid
Результат:
Прямоугольник
Пример 2. Пустой прямоугольник без задания цвета:
set page = CreatePage(Null)

page.DrawGrid

page.Rectangle 12, 17, 42, 25, false

page.DrawGrid

Результат:
Прямоугольник false

Также существует возможность изменения стиля отображения углов прямоугольника. Для этого нужно использовать свойство property LineJoin: TPDFLineJoin;

Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пример построения прямоугольников с различными типами соединения сторон:

set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 4

page.LineJoin = 0

page.Rectangle 10, 10, 20, 10, false

page.LineJoin = 1

page.Rectangle 40, 10, 20, 10, false

page.LineJoin = 2

page.Rectangle 70, 10, 20, 10, false

Результат:
3 прямоугольника

1.2.3.3. Вставка готовых изображений

Для вставки на создаваемую страницу готового изображения используется процедура procedure Image(const FileName: WideString; X: Double; Y: Double; Width: Double; Height: Double)

Параметры:

  • const FileName - имя файла изображения и путь к нему на жестком диске. Задается в кавычках.
  • X - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по горизонтали в миллиметрах
  • Y - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по вертикали в миллиметрах
  • Width - ширина изображения в миллиметрах
  • Height - высота изображения в миллиметрах.
set page = CreatePage(Null)
page.drawgrid
page.Image "c:\mill.bmp", 10,10, 30, 30

Результат:
Картинка

Вне зависимости от размера исходного изображения, при вставке изображения на создаваемую страницу оно будет растянуто по размерам, прописанным в процедуре.

1.2.3.4. Векторная графика

Язык PostScript, с помощью которого создаются векторные изображения для PDF-документа, поддерживает создание типичных примитивных объектов, таких как:

  • Прямые и ломанные линии
  • Многоугольники
  • Окружности и эллипсы
  • Кривые Безье
  • Текст

При создании векторного изображения на странице PDF-документа в приложениях Платформы, команды построения примитивных объектов PostScript передаются на исполнение при помощи процедуры Perform. Подробнее об операторах и командах PostScript для создания PDF-документов можно узнать на сайте Adobe

1.2.4. Шрифты

Шрифты, которые должны использоваться в создаваемом документе, должны быть предварительно объявлены. Для объявления используемых шрифтов используется функция
function CreateFont(const FontName: WideString; Size: Double; Bold: WordBool; Italic: WordBool): IPDFFont; где:

  • const FontName - имя шрифта, аналогичное имени объявляемого шрифта в операционной системе. В Функции объявляется в кавычках.
  • Size - размер шрифта в пунктах
  • Bold - признак начертания шрифта "жирный". Значения - True или False
  • Italic - признак начертания шрифта "курсив". Значения - True или False
Примеры объявления шрифтов:
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)

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

  • procedure WriteLine(const LineText: WideString; X: Double; Y: Double);
    - используется для вывода текстовой строки
  • function WriteText(const AText: WideString; X: Double; Y: Double; Width: Double; Alignment: TPDFTextAlignment): Double;
    - используется для вывода текстового блока.

Параметры для procedure WriteLine :

  • const LineText - текстовая строка для вывода. Прописывается в кавычках. Будет выведена на страницу одной строкой.
  • X - координата верхней левой точки текстовой строки по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстовой строки по вертикали в миллиметрах.
Примеры вывода текстов на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)
Font.WriteLine "Фамилия", 5, 2
Font.WriteLine "Имя", 5, 10
Font.WriteLine "Отчество", 5, 18
labelFont.WriteLine "Дата рождения", 5, 26
dataFont.WriteLine "Национальность", 5, 34

Результат:
Разные шрифты

Параметры для function WriteText :

  • const AText - текст для вывода на страницу. Прописывается в кавычках. Будет выведена на страницу в виде текстового блока.
  • X - координата верхней левой точки текстового блока по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстового блока по вертикали в миллиметрах.
  • Width - ширина текстового блока в миллиметрах
  • Alignment - тип выравнивания текста в текстовом блоке.
    Значение параметра | Тип выравнивания
    0 | По левому краю
    1 | По правому краю
    2 | По центру
    3 | Выравнивание по ширине
Примеры вывода текстовых блоков на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Times New Roman", 12, False, True)
set dataFont = page.createFont("Tahoma", 11, True, False)
Q = font.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 5, 100, 0)
Q = labelFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 35, 100, 1)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 55, 100, 2)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 80, 100, 3)

Результат:
Выравнивание

Свойства шрифтов:

property Spacing: Double; - свойство, отвечающее за величину промежутка между буквами в слове. Задается в виде отклонения от промежутка между буквами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Spacing = 0
labelFont.Spacing = 1
dataFont.Spacing = 2
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (1 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 15

Результат:
Промежуток букв

property WordSpacing: Double; - свойство, отвечающее за величину промежутка между соседними словами. Задается в виде отклонения от промежутка между словами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.WordSpacing = 0
labelFont.WordSpacing = 2
dataFont.WordSpacing = 5
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (5 мм)", 5, 15

Результат:
Промежуток слов

property Scaling: Double; - свойство, отвечающее за горизонтальное масштабирование букв используемого шрифта. Устанавливается в процентах. Горизонтальный масштаб по умолчанию - 100%.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Scaling = 50
labelFont.Scaling = 100
dataFont.Scaling = 200
font.WriteLine "Сжатие (50)", 5, 5
labelFont.WriteLine "По умолчанию (100)", 5, 10
dataFont.WriteLine "Растягивание (150)", 5, 15

Результат:
Scaling

property RenderingMode: TPDFFontRenderingMode; - свойство, отвечающее за заливку букв используемого шрифта.
Типы заливки:
Значение параметра: | Отображение: | Описание:
0 | Font Fill | Сплошная заливка (по умолчанию). Буква заливается сплошным цветом, объявленным на данный момент.
1 | Font Stroke | Только граница. Прорисовывается граница буквы. Тело остается незалитым.
2 | Font FillStroke | Сначала заливка, потом граница. Граница прорисовывается всегда черным цветом. Заливка осуществляется сплошным цветом, объявленным на данный момент.
3 | Inv | Невидимый шрифт.

Пример:
set page = CreatePage(Null)
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 20, False, False)
set dataFont = page.createFont("Arial", 20, False, False)
font.RenderingMode = 0
labelFont.RenderingMode = 1
dataFont.RenderingMode = 2
page.setColor 255, 0, 0
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 5, 15, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 5, 25, 50, 0)

Результат:
Заливка букв

property Rise: Double; - свойство, отвечающее за перемещение текста по вертикали.

set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 7, False, False)
set dataFont = page.createFont("Arial", 7, False, False)
labelFont.rise = -17
dataFont.rise = -2
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 44, 5, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 44, 5, 50, 0)

Результат:
Rise

Для определения размеров текстовой строки используется процедура MeasureLine(const LineText: WideString; out Width: OleVariant; out Height: OleVariant);

Здесь:

  • LineText - исходный текст для размещения на странице
  • Width - возвращаемый параметр ширины текстового блока на странице
  • Height - возвращаемый параметр высоты текстового блока на странице
S = "шифр"
font.MeasureLine S, W, H
Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2)

Здесь для текста "Шифр" замеряется ширина и высота получившегося текстового блока. Затем полученные данные используются для корректного размещения текста на странице.

Для определения высоты текстового блока используется функция MeasureText(const AText: WideString; Width: Double): Double; safecall;

Функция распределит текст по задаваемому значению ширины текстового блока и вернет значение высоты текстового блока в милиметрах.

Здесь:

  • AText - исходный текст для размещения на странице. Прописывается в кавычках.
  • Width - задаваемая ширина текстового блока на странице в милиметрах.
S = "Текст для размещения на странице..."
Q = font.MeasureText(S, 139)
Здесь для текста "Текст для размещения на странице..." замеряется высота получившегося текстового блока. Затем полученные данные могут использоваться для корректного размещения текста на странице.

1.3. Порядок создания

Для создания шаблона PDF-документа необходимо в системной форме Платформы выбрать класс, к которому будет строиться документ. В подменю "Подпрограммы" вызвать контекстное меню и выбрать пункт "Создать шаблон отчета PDF". Заполнить необходимые поля и приступить к созданию скрипта в окне "Скрипт шаблона".

  1. Объявляем все переменные.
  2. Создаем страницы
  3. Устанавливаем все свойства документа и страниц
  4. Рисуем простые графические объекты
  5. Объявляем все используемые шрифты
  6. Расставляем постоянный текст на странице
  7. Расставляем переменный текст на странице
  8. Вставляем или создаем сложные графические объекты
Пример документа PDF:
set LDataSet = createDataSet("TRoundAbiturSt")
'Объявление переменных
LDataSet.AddQueryItem 1, "ID", ID
LDataSet.AddQueryItem 0, "RoundComp$N"
LDataSet.AddQueryItem 0, "BachRound$N"
LDataSet.AddQueryItem 0, "LastName"
LDataSet.AddQueryItem 0, "FirstName"
LDataSet.AddQueryItem 0, "MiddleName"
LDataSet.AddQueryItem 0, "BirthDate"
LDataSet.AddQueryItem 0, "RegNumber"
LDataSet.AddQueryItem 0, "SecondStageCity$D"
LDataSet.AddQueryItem 0, "PhoneList"

'Присваивание переменным значений
OlympName = LDataSet.Field("RoundComp$N")
OlympClass = LDataSet.Field("BachRound$N")
LastName = LDataSet.Field("LastName")
FirstName = LDataSet.Field("FirstName")
MiddleName = LDataSet.Field("MiddleName")
if not IsNull(LDataSet.Field("BirthDate")) then
  BirthDate = LDataSet.Field("BirthDate")
else
  BirthDate = "(не задана)"
end if
RegNo = LDataSet.Field("RegNumber")
if not IsNull(LDataSet.Field("SecondStageCity$D")) then
  OlympCity = LDataSet.Field("SecondStageCity$D")
else
  OlympCity = "(не выбран город участия)"
end if
if not IsNull(LDataSet.Field("PhoneList")) then
  Phone = LDataSet.Field("PhoneList")
else
  Phone = ""
end if

'CanCompress = False - признак сжатия файла
set page = CreatePage(Null) ' создаем страницу
'Объявляем используемые шрифты
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 16, False, False)
set dataFont = page.createFont("Arial", 18, True, False)
set bigFont = page.createFont("Arial", 24, False, False)

'page.DrawGrid  - рисуем сетку для удобства отладки

page.LineWidth = 0.5 ' Установка толщины линии

' Рисуем прямоугольники
page.Rectangle 8, 12, 4, 4, True
page.Rectangle 190, 12, 4, 4, True

page.Rectangle 8, 273, 4, 4, True
page.Rectangle 105, 273, 4, 4, True
page.Rectangle 190, 273, 4, 4, True

'Выводим постоянный и переменный текст
Q = font.WriteText ("Межрегиональная олимпиада школьников", 12, 20, 178, 2)
Q = bigFont.WriteText (OlympName, 12, 45, 178, 2)
Q = bigFont.WriteText (OlympClass, 12, 56, 178, 2)

Q = font.WriteText ("Титульный лист", 12, 72, 178, 2)

labelFont.WriteLine "Фамилия", 25, 115 - 23
labelFont.WriteLine "Имя", 25, 123 - 23
labelFont.WriteLine "Отчество", 25, 131 - 23
labelFont.WriteLine "Дата", 25, 139 - 23
labelFont.WriteLine "рождения", 25, 145 - 23

labelFont.WriteLine "Регистрационный номер", 25, 169 - 30
labelFont.WriteLine "Город проведения", 25, 177 - 30
labelFont.WriteLine "Аудитория", 25, 185 - 30

labelFont.WriteLine "Дата", 25, 211
labelFont.WriteLine "Подпись", 25, 219
labelFont.WriteLine "Телефон", 25, 227

dataFont.WriteLine LastName, 63, 114 - 23
dataFont.WriteLine FirstName, 63, 122 - 23
dataFont.WriteLine MiddleName, 63, 130 - 23
dataFont.WriteLine BirthDate, 63, 141 - 23

dataFont.WriteLine RegNo, 100, 168 - 30
dataFont.WriteLine OlympCity, 100, 176 - 30

' Рисуем линии
page.line 100, 192 - 30, 150, 192 - 30
page.line 58, 218, 108, 218
page.line 58, 226, 108, 226
Q = dataFont.WriteText(Phone, 58, 226, 65, 0)

' Устанавливаем новый цвет
page.setColor 192, 192, 192

S = "шифр"
font.MeasureLine S, W, H  ' измеряем текстовый блок
Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2) ' располагаем текстовый
блок на странице

' Устанавливаем новый цвет
page.setColor 255, 0, 0
' Устанавливаем толщину линий в 1 пиксель
page.LineWidth = 0
' Рисуем линии по координатам
X = 139
Y = 267

page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

X = X + 40
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

Y = Y - 23
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

X = X - 40
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

Результат:


Мельница данных ((раздел целиком))

Мельница данных- Класс TCommandButton (Командные кнопки) (раздел целиком) (23.04.2022) (одним файлом)
Класс TCommandButton (Командные кнопки)

1. Конструктор TCommandButton.Create (Конструктор командной кнопки)

2. Поле TCommandButton.FGroup (Заголовок группы)

3. Поле TCommandButton.FParameter (Связанный параметр)

4. Поле TCommandButton.FPosition (Позиция)

5. Поле TCommandButton.FScript (Скрипт)

6. Поле TCommandButton.FTab (Заголовок закладки)

7. Свойство TCommandButton.Group (Заголовок группы)

8. Свойство TCommandButton.Parameter (Связанный параметр)

9. Свойство TCommandButton.Position (Позиция)

10. Свойство TCommandButton.Script (Скрипт)

11. Свойство TCommandButton.Tab (Заголовок закладки)

12. Функция TCommandButton.GetNextPos (Следующая позиция)


Мельница данных ((раздел целиком))

Мельница данных- Класс TVisualGroupItem (Элемент визуальной группы) (раздел целиком) (23.04.2022) (одним файлом)
Класс TVisualGroupItem (Элемент визуальной группы)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

1. Конструктор TVisualGroupItem.Create (Конструктор элемента визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) |  | Доступен |

Конструирует объект класса TVisualGroupItem (Элемент визуальной группы) .

2. Поле TVisualGroupItem.FComment (Комментарий)
FComment: TComment (Текстовый комментарий) .

Используется для хранения значений свойства TVisualGroupItem.Comment (Комментарий)
.

3. Поле TVisualGroupItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupItem.Position (Позиция)
.

4. Свойство TVisualGroupItem.Comment (Комментарий)
Comment: TComment (Текстовый комментарий) .

Для чтения и записи свойства используется поле TVisualGroupItem.FComment (Комментарий) .

5. Свойство TVisualGroupItem.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupItem.FPosition (Позиция) .

6. Функция TVisualGroupItem.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TVisualGroupItem.Create (Конструктор элемента визуальной группы)
.


Мельница данных ((раздел целиком))

Мельница данных- Класс TRole (Роли) (раздел целиком) (23.04.2022) (одним файлом)
Класс TRole (Роли)
Унаследован от класса TSecurityAccount (Роли безопасности) . Объекты могут включать в себя объекты классов:
  • TRoleMember (Пользователи в ролях)

1. Конструктор TRole.Create (Конструктор роли)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TRole (Роли) .

2. Свойство TRole.IsCurrent (Является текущей)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TRole.GetIsCurrent (Является текущей) .

3. Функция TRole.GetIsCurrent (Является текущей)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TRole.IsCurrent (Является текущей)
.


Мельница данных ((раздел целиком))

Мельница данных- Класс TEnumerationItem (Элементы перечислений) (раздел целиком) (23.04.2022) (одним файлом)
Класс TEnumerationItem (Элементы перечислений)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TEnumerationDomain (Перечисления) .

1. Конструктор TEnumerationItem.Create (Конструктор элемента перечисления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)

Конструирует объект класса TEnumerationItem (Элементы перечислений) .

2. Поле TEnumerationItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TEnumerationItem.Position (Позиция)
.

3. Свойство TEnumerationItem.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TEnumerationItem.FPosition (Позиция) .

4. Функция TEnumerationItem.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TEnumerationItem.Create (Конструктор элемента перечисления)
.


Мельница данных ((раздел целиком))

Мельница данных- Выражения и операции (раздел целиком) (23.04.2022) (одним файлом)
Выражения и операции

1. Состав выражения
Любое выражение имеет тип. Выражения состоят из следующих элементов:
  • Целая числовая константа (0 3 234);
  • Вещественная числовая константа. Дробная часть отделяется от целой точкой (".") (3.14 2.71);
  • Строковая константа. Заключается в апострофы. ('Some string' '10', '01.01.2006' 'now');
  • Логическая константа (True False);
  • Безтиповая (любого типа) константа nil;
  • Зарезервированное слово Self. Обозначает разный объект в зависимости от контекста:
    • В методах класса кроме конструктора - использование запрещено.
    • В методах экземпляра - всегда экземпляр, для которого вызван метод.
    • В конструкторе - до вызова унаследованного метода значение не определено. После вызова - ссылка на сконструированный объект.
    • В выражениях условий отбора - объект, для которого принимается решение о его вхождении в отбор.
  • Квалификатор.
  • Агрегат.

2. Квалификатор

Квалификатор обозначает объект, переменную, параметр, свойство, поле, вызов функции. Квалификатор состоит из идентификаторов, разделенных точкой.

Result
AName
Caption
LObject.Name
LObject.Parent.Name
LObject.ChildCount
LObject.HasAsParent(LOtherObject)

При интерпретации квалификатора используется следующий порядок разбора идентификатора:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Локальная переменная
  3. Параметр
  4. Имя элемента перечисления
  5. Имя класса. Вне контекста означает ссылку на соответствующий объект класса TClass
  6. Имя поля
  7. Имя метода
  8. Имя свойства

При интерпретации квалификатора внутри выражения агрегата правила разбора идентификатора изменяются:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Имя элемента перечисления
  3. Имя класса. Если это имя агрегируемого класса, то дальнейшие разыменования относятся к агрегируемому объекту
  4. Имя поля
  5. Имя метода
  6. Имя свойства
  7. Локальная переменная
  8. Параметр

3. Агрегат

Агрегат определяет агрегированное значение над экземплярами определенного класса, удовлетворяющими условиям агрегации. Агрегаты бывают следующих типов:

  • any - первый попавшийся объект. Результат имеет тип ссылки на объект агрегируемого класса.
    any(TObject with Master = Self.Parent)
//первый попавшийся объект, имеющий значение
//свойства Master равным значению свойства
//Parent текущего (контекстного) объекта.
  • count - количество объектов. Результат имеет целочисленный тип.
    count(TObject with Master = Self.Parent)
//количество объектов, имеющих значение свойства
//Master равным значению свойства Parent
//текущего объекта.
  • sum - сумма значений свойства, поля или функции объектов. Результат имеет тип суммируемого поля, свойства или функции
    sum(TExam.Mark with Master = LStudent) //сумма
//баллов студента по его испытаниям
  • max, min - соответственно максимальное и минимальное значений свойства, поля или функции объектов. Результат имеет тип агрегируемого поля, свойства или функции
    min(TObject.Created) // момент создания первого
//объекта Системы.

Внутри выражения агрегата правила разбора идентификатора изменяются на следующие:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Имя элемента перечисления
  3. Имя класса. Если это имя агрегируемого класса, то дальнейшие разыменования относятся к агрегируемому объекту
  4. Имя поля
  5. Имя метода
  6. Имя свойства
  7. Локальная переменная
  8. Параметр

4. Операции

Операции связывают элементы выражений.

Таблица операций в порядке приоритета:
Левый операнд | Правый операнд
 | Целый | Вещест- венный | Дата | Время | Дата со временем | Логи- ческий | Строковый | Объект | nil
not
Нет | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
* (звездочка)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
/ (слэш, дробь)
Целый | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
div
Целый | Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
and
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
or
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
+ (плюс)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Строковый | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
- (минус)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Целый | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Вещест- венный | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
=, <> (равно, не равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Логи- ческий
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Логи- ческий
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
<, >, <=, >= (меньше, больше, меньше либо равно, больше либо равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
is
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
as
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Объект | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено

4.1. Особенности применения операций
  1. Приоритет сравнений ниже приоритета операций булевой логики. Поэтому выражение
    LObject.Master = LMaster and LObject.Parent = LParent
    будет интерпретироваться следующим образом:
    LObject.Master = (LMaster  and LObject.Parent) = LParent
    и вызовет ошибку компиляции из-за применения операции and к объектам. Необходимо писать:
    (LObject.Master = LMaster) and (LObject.Parent = LParent)
  2. Любое значение (выражение любого типа) сравнивается с безтиповой константой nil:
          LObject := any(TObject with Name = 'Some name');
      if LObject = nil then
         .....
  3. Операции "Унарный минус" не существует. Для задания отрицательных констант пользуйтесь конструкцией 0-Значение:
    Result := 0-1;


Мельница данных ((раздел целиком))

Мельница данных- Класс TAction (Действия) (раздел целиком) (23.04.2022) (одним файлом)
Класс TAction (Действия)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

Объекты класса моделируют элементы контектсного меню представления. Иерархия элементов контектсного меню отображается на иерахию объектов класса.

Сам по себе объект класса TAction определяет положение и поведение соответствующего пункта контекстного меню, кроме ассоциированного с пуктом действия. Для спецификации этого действия существуют классы-наследники TAction: класс TRoutineAction (Программируемое действие) и класс TViewAction (Действие-представление). Таким образом, объекты собственно класса TAction создаются на месте родительских пунктов контекстного меню, раскрывающихся, содержащих Стрелка раскрытия контекстного меню. Несмотря на то, что класс не является абстратным в строгом смылсле этого слова, ни одного объекта этого класса в системных метаданных нет в силу простоты структуры контекстного меню системных представлений. Разработчик решений не ограничен в создании и использовании объектов этого класса. Никаких общих рекомендаций тут быть не может, единственное, что можно утверждать - что контекстное меню должно быть удобным и в достижении этой цели можно организовывать требуемую иерархическую структуру.

Иерархия объектов класса TAction
На основе иерархии действий, показанной на рисунке (в таблице отображен фактический класс каждого объекта) построено следующее контекстное меню:
Контекстное меню, построенное на основе иерархии объектов класса TAction

1. Конструктор TAction.Create (Конструктор действия)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) |  | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TAction (Действия) .

2. Поле TAction.FDefault (По умолчанию)
FDefault : Boolean (Обычное логическое) (обязательно для заполнения).

Используется для хранения значений свойства TAction.Default (По умолчанию).

3. Поле TAction.FPosition (Позиция)
FPosition : TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TAction.Position (Позиция).

4. Поле TAction.FSeparated (Отделено)
FSeparated : Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TAction.Separated (Отделено).

5. Поле TAction.FShortcut (Горячая клавиша)
FShortcut : TShortcut (Горячие клавиши) .

Используется для хранения значений свойства TAction.Shortcut (Горячая клавиша).

6. Свойство TAction.Default (По умолчанию)
Default : Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FDefault (По умолчанию) .

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

Действие по умолчанию

7. Свойство TAction.Position (Позиция)
Position : TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FPosition (Позиция) .

Действия сортируются в пределах уровня для построения контекстного меню в порядке возрастания этого своства.

8. Свойство TAction.Separated (Отделено)
Separated : Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FSeparated (Отделено) .

После пункта меню, соответствующего действию с установленным свойством, будет отображен разделитель. Если пункт меню - последний, то разделитель не будет отображен.

Разделитель в контектстном меню

9. Свойство TAction.Shortcut (Горячая клавиша)
Shortcut : TShortcut (Горячие клавиши) .

Для чтения и записи свойства используется поле TAction.FShortcut (Горячая клавиша) .

Горячая клавиша определяет связь между нажатием сочетания клавиш на клавиатуре и действием, ассоциированным с пунктом меню. Тест, описывающий горячую клавишу, располагается справа в контекстном меню для тех действий, для которых горячая клавиша назначена.

10. Функция TAction.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен | Master (Мастер)
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Возвращает значение типа Integer (Целое).

Используется для инициализации значения параметра Position (Позиция) метода TAction.Create (Конструктор действия). Вычисляет следующую позицию добавляемого действия.


Мельница данных ((раздел целиком))

Мельница данных- Класс TRoutineAction (Программируемое действие) (раздел целиком) (23.04.2022) (одним файлом)
Класс TRoutineAction (Программируемое действие)
Унаследован от класса TAction (Действия) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

1. Конструктор TRoutineAction.Create (Конструктор программируемого действия)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) | Унаследован | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) | Унаследован | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) | Унаследован | Доступен |
Routine (Реализовано посредством ) | TActionRoutine required domain (Метод действия) |  | Доступен |

Конструирует объект класса TRoutineAction (Программируемое действие) .

2. Поле TRoutineAction.FRoutine (Подпрограмма)
FRoutine: TActionRoutine required domain (Метод действия) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineAction.Routine (Подпрограмма)
.

3. Свойство TRoutineAction.Routine (Подпрограмма)
Routine: TActionRoutine required domain (Метод действия) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutineAction.FRoutine (Подпрограмма) .


Мельница данных ((раздел целиком))

Мельница данных- Работа с Инспектором объектов (раздел целиком) (23.04.2022) (одним файлом)
Работа с Инспектором объектов

1. Отображение свойств Инспектором объектов

Инспектор объектов предназначен для просмотра и редактирования свойств одного или нескольких объектов, выбранных в активной таблице данных. Инспектор объектов имеет две колонки. В левой колонке отображаются наименования свойств, в правой колонке отображаются значения свойств. Набор отображаемых свойств и их значений зависит от того, сколько объектов каких типов выбрано в текущей таблице данных (подробнее о выборе объектов см. раздел 4.3. "Выбор объектов в таблице данных"). Свойства выбранных объектов отображаются Инспектором объектов по следующим правилам:

  1. Если в таблице данных выбран один объект, то в Инспекторе объектов отображаются все свойства этого объекта, видимые пользователю.
  2. Если в таблице данных выбрано несколько объектов, то
    • Инспектор объектов будет иметь строки, соответствующие только тем свойствам, которые есть у всех выделенных объектов;
    • если у всех выделенных объектов значение свойства одинаково, то это значение будет отображено в правой колонке; в противном случае в правой колонке будет отображено пустое значение.
  3. При изменении значения свойства в Инспекторе объектов новое значение будет установлено для всех выделенных объектов.

Выбран один объект - вид на инспектор объектов
Выбран один объект - вид на таблицу

На рисунке представлен пример таблицы данных, отображающей учитываемые в системе сорта мороженого. Среди сортов мороженого есть как обычные сорта, так и сорта фруктового мороженого, дополнительно обладающие свойством "Фрукт". В таблице данных выделен один объект, соответствующий сорту фруктового мороженого "Тропический рай". При этом Инспектор объектов отображает все свойства данного объекта (в том числе свойство "Фрукт").

Выбрано несколько объектов - вид на инспектор объектов

Выбрано несколько объектов - вид на таблицу

На рисунке в той же таблице данных выбрано два объекта: сорт мороженого "Тропический рай" (фруктовое мороженое) и сорт "Белый Бим черное ухо" (обычное мороженое). При этом в Инспекторе объектов отображаются только те свойства, которые являются общими для выделенных объектов (свойство "Фрукт" не отображается). Значения свойств "Вид упаковки" и "Вес" для выбранных объектов одинаковы, поэтому их значения отображены в правой колонке Инспектора объектов. Значения остальных свойств для данных объектов различны, поэтому для этих свойств отображаются пустые значения. Если изменить одно из свойств в Инспекторе объектов, то новое значение будет установлено как для сорта мороженого "Тропический рай", так и для сорта мороженого "Белый Бим черное ухо".

Порядок отображения свойств в Инспекторе объектов устанавливается разработчиком прикладной системы. Также разработчиком прикладной системы может быть установлено отнесение свойств к категориям. В этом случае свойства могут отображаться сгруппированными по категориям. Слева от наименования каждой категории будет отображен значок Свернутый узел дерева или Развернутый узел дерева. Нажатием мышью на значок Развернутый узел дерева свойства, входящие в категорию, можно свернуть, нажатием на значок Свернутый узел дерева их можно снова отобразить.

Отображение Инспектором объектов свойств, сгруппированных по категориям

На рисунке представлен пример отображения Инспектором объектов свойств объекта, соответствующего дисциплине учебного плана студентов. Свойства, отнесенные к категориям "Формы текущего контроля" и "Распределение аудиторных часов по модулям", свернуты. Свойства, отнесенные к категории "Учебные часы" раскрыты.

В связи с тем, что выбор свойств объектов для отображения, получение и сравнение их значений происходит по специальному алгоритму, в случае одновременного выбора большого числа объектов скорость работы Инспектора объектов может снижаться. Если на вычисление значения общего свойства группы объектов требуется значительное время, то такое свойство может отображаться как свойство с отложенным вычислением. Для такого свойства в правой колонке вместо значения может отображаться строка (...). При активизации этого свойства справа отобразится кнопка со знаком вопроса Кнопка вычисления отложенного свойства. Если нажать на эту кнопку, то значение свойства будет определено и отображено.

Свойство с отложенным вычислением

2. Управление положением Инспектора объектов на экране и порядком отображения свойств

Инспектор объектов отображается в отдельном окне. Это окно можно перетаскивать по экрану за заголовок, изменять его размеры стандартным для операционной системы Windows образом. На панели инструментов всегда присутствует иконка Инспектора объектов, при нажатии которой можно отобразить окно Инспектора (если оно не видимо) и сделать его активным:
Кнопка инспектора объектов

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

Контекстное меню инспектора объектов

Выбор одного из пунктов контекстного меню переводит Инспектор объектов в новый режим работы. После этого рядом с пунктом меню отображается галочка Флажок в контекстном меню или точка Радиокнопка в контекстном меню. При повторном выборе помеченного пункта меню соответствующий режим работы отменяется и отметка снимается. Доступные пункты контекстного меню позволяют устанавливать следующие режимы работы Инспектора объектов.

  • При выборе пункта меню Всегда наверху окно Инспектора объектов будет всегда отображаться на переднем плане независимо от переключения между активными таблицами данных.
  • Если выбрать пункт меню Прозрачное окно, то окно Инспектора объектов станет полупрозрачным.
  • Если выбрать пункт меню Показать скрытые свойства, то кроме свойств, отображаемых в обычном режиме (свойства, созданные разработчиком прикладной системы как " видимые ") будут отображены свойства объектов, " невидимые " пользователю.
  • Пункт меню Сортировать по алфавиту позволяет отображать свойства не в порядке, установленном разработчиком прикладной системы, а в алфавитном порядке их наименований. Такой режим работы удобен в случае, если необходимо найти свойство по его наименованию.
  • Пункты подменю Группировка позволяют:
    • Группировать по категории - свойства будут отображены сгруппированными по категориям (показано на рисунке);
    • Группировать по классу - свойства будут отображены сгруппированными по классу объектов, членами которого они являются;
    • Не группировать - свойства будут отображены без группировки.

3. Редактирование значений свойств при помощи Инспектора объектов

При помощи Инспектора объектов удобно изменять значения свойств одного или одновременно нескольких выбранных объектов (о выборе объектов см. раздел 4.3. "Выбор объектов в таблице данных"). Одно из свойств, отображаемых в Инспекторе объектов, всегда является активным. Активное значение выделяется в Инспекторе объектов рамкой, его значение отображается в режиме редактирования.

Отображение свойств в режиме редактирования и способы изменения значений свойств аналогичны редактированию данных в таблице данных (см. раздел 4.11. "Редактирование данных в таблицах"). Отличие работы Инспектора объектов заключается в том, что с его помощью можно изменять значение свойства сразу нескольких выбранных объектов.


Мельница данных ((раздел целиком))

Мельница данных- Язык PascalScript (раздел целиком) (23.04.2022) (одним файлом)
Язык PascalScript

На языке PascalScript на платформе "Мельница данных" описываются тела методов и выражения. Выражения используются в условиях отбора объектов определенного класса при их отображении в представлениях, а также как встраиваемые выражения, которые могут служить членами класса для чтения свойств.

Здесь и далее зарезервированные слова выделены жирным шрифтом.

1. Структура программного блока тела метода
  [Описание переменных]
  begin
    //Операторы
  end;

Комментарии расположены между символами { и } либо от символов // до конца строки.

2. Описание переменных
var
    Имя переменной[, Имя переменной…]: Тип;
    Имя переменной[, Имя переменной…]: Тип;
    ...
Имя переменной должно быть идентификатором (последовательность символов a-z, A-Z, 0-9, _). "Тип" может быть одним из следующих:
  • integer - определяет переменные целочисленного типа;
  • string[целое_число] - определяет переменные строкового типа с заданной максимальной длиной; максимальная длина задается в квадратных скобках и обязательна для задания;
  • float - определяет переменные вещественного типа;
  • date - определяет переменные типа "дата";
  • time - определяет переменные типа "время";
  • datetime - определяет переменные типа "дата со временем";
  • boolean - определяет переменные логического типа;
  • blob - определяет переменные типа больших двоичных объектов;
  • Имя класса - определяет переменные-ссылки на экземпляры соответствующих классов;
  var
   I: integer;
   LSomeObject: TObject;
   LStart, LStop: datetime;
   LNewName: string[64];

3. Операторы PascalScript

Операторы разделяются точкой с запятой (;). Операторы могут быть одним из следующих:

3.1. Составной оператор
begin
  //Другие операторы
end
Операторы, размещенные внутри составного оператора, разделяются точкой с запятой. Никаких ограничений на состав операторов и количество уровней вложенности не накладывается.
begin
  Result := LCurrentValue;
  Exit;
end;

3.2. Оператор присваивания
Выражение1 := Выражение2

Присваивает значение выражения Выражение2 выражению Выражение1. Типы Выражения1 и Выражения2 должны быть совместимы (совпадать по классу домена либо оба быть числовыми). Для этого на Выражение1 (стоящее слева от знака равенства, lvalue) накладывается ряд ограничений. Это выражение должно быть:

  • Полем или свойством экземпляра класса
  • Локальной переменной
  • Параметром
  • Зарезервированной переменной Result
LObject.Name := 'Новое имя';
Result := 25;
LStartTime := StrToDateTime('01.01.2006 00:00:30');
var
  LObject: TObject;
  LClass: TClass;
  I: Integer;
  F: Float;
begin
  I := F;  //неверно
  F := I;  //верно
  LObject := LClass; //верно
  LClass := LObject; //неверно. Должно быть LClass := (LObject as TClass);
end;

3.3. Оператор вызова
ИмяПроцедуры [(Параметр1, Параметр2 ...)]

"ИмяПроцедуры" должно быть:

  • Именем метода класса и вызываться с указанием класса либо экземпляра;
  • Именем метода экземпляра и вызываться с указанием экземпляра;
  • Именем метода своего класса либо предка и вызываться без указания спецификаторов.
Порядок и количество параметров в операторе вызова должны строго совпадать с описанием метода.

  //метод класса, указан класс
  LList := TObjectList.Create(Name, Description, TObjectList, nil, nil, Folder);

  //метод экземпляра, указан экземпляр. Метод не имеет параметров.
  LList.Destroy;

  //свой либо унаследованный метод
  BuildDefaultActions(Name, True);

3.4. Оператор ветвления
if Выражение then
  //Оператор1
[else
  //Оператор2]

Выражение должно быть логического типа. В случае если значение Выражения истинно, выполняется Оператор1. Часть else является необязательной и относится к последнему оператору if, не имеющему таковой. В случае ее наличия Оператор2 выполняется, если значение Выражения ложно.

if LIndex > 25 then
  raise 'Индекс слишком большой.';

if LMonth = 'январь' then
  January
else if LMonth = 'февраль' then
  February
else
  OtherMonth;  //обратите внимание на точки с запятой.

3.5. Оператор выбора
case Выражение of
  Значение1: //Оператор1
  Значение2: //Оператор2
  ...
[else
  //Оператор ]
end

Заменяет каскад операторов if. Значение Выражения должно быть числового типа. Часть else выполняется в случае, если Выражение не равно ни одному из перечисленных вариантов. Эта часть не является обязательной.

сase LIndex of
  0: ZeroIndex;
  1,2,3: SmallIndex;
  4,5,6,7,8,9,10: BigIndex;
else
  raise 'Слишком большой или отрицательный индекс.';
end;

3.6. Цикл с предусловием
while Выражение do
  //Оператор

Оператор выполняется до тех пор, пока значение Выражения истинно. Выражение должно быть логического типа. Если при входе в цикл Выражение не истинно, то тело цикла не будет выполнено ни одного раза.

while LList.Count > 0 do
  LList.GetItem(0).Destroy;

while True do
begin
  LValue := LValue.NextValue;
  if LValue.Value > 10 then
  begin
    Result := LValue.Value;
    exit;
  end;
end;

3.7. Цикл с постусловием
repeat
  //Операторы
until Выражение

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

repeat
  Result := Result + 1;
  LObject := LObject.Parent;
until LObject = nil;

3.8. Цикл с параметром
for Параметр := Выражение1 (to|downto) Выражение2 do
  //Оператор

Параметр цикла обязан быть простой локальной переменной. Функционально цикл с параметром эквивалентен циклам:

  • Для формы to
    Параметр := Выражение1;
while Параметр <= Выражение2 do
    begin
  Оператор;
  Параметр :=  Параметр + 1;
end;
  • Для формы downto
    Параметр := Выражение1;
while Параметр >= Выражение2 do
    begin
  Оператор;
  Параметр :=  Параметр - 1;
end;
Если Выражение1 равно Выражению2, тело цикла будет выполнено один раз.

for I := LList.Length - 1 downto 0 do
// если LList.Length = 0, тело цикла ни разу не будет выполнено.
begin
  LClass := LList.GetItem(I);
  LMethod := any(TMethod with (Name = LName) and (Master = LClass));
  LParamList.Add(any(TMethod with (Name = LName) and (Master = LClass)));
end;

3.9. Цикл по экземплярам
for each Параметр of ИмяКласса [with Выражение]
       [by [-] Выражение [, [-] Выражение]] do
         //Оператор

Цикл осуществляется по выборке среди экземпляров класса ИмяКласса, для которых истинно Выражение. Если Выражение не задано, то по всем экземплярам. Ссылка на текущий в рамках цикла экземпляр присваивается в локальную переменную Параметр. Выражение должно определяться относительно переменной Параметр. Выраженния, следующие за ключевым словом by, определяют порядок обхода экземпляров. Знак "-" перед выражением (любого типа) определяет обратный порядок обхода.

for each LOption of TOption with LOption.Domain.Required do
    // для каждой настройки, домен которой обязателен
  LOption.SetDefaultValue;

3.10. Оператор прекращения цикла
break

Происходит немедленный выход из цикла. Выполняется финализация операторов защиты завершения, которыми защищено тело цикла. Допустим только в теле цикла с предусловием, цикла с постусловием, цикла с параметром или цикла по экземплярам.

3.11. Оператор выхода из подпрограммы
exit

Происходит немедленный выход из программного блока. Выполняется финализация операторов защиты завершения.

3.12. Оператор защиты завершения
try
  //Операторы1
finally
  //Операторы2
end

Выполняются операторы Операторы1, разделенные точкой с запятой. В случае возникновения исключительной ситуации управление сразу передается на Операторы2, и после их выполнения исключение остается активным. Если исключения не произошло, выполняются Операторы2. Если среди Операторов1 встречается оператор exit, то Операторы2 все равно выполняются.

//создание временного объекта-списка
LList := TObjectList.Create(Name, Description, TObjectList, nil, nil, Folder);
try
  LList.Add(LValue);
  Exit;
finally
  //гарантированное уничтожение созданного объекта независимо от исключений.
  LList.Destroy;
end;

3.13. Оператор обработки исключительных ситуаций
try
  //Операторы1
except
  //Операторы2
end

Выполняются операторы Операторы1. В случае возникновения исключительной ситуации управление передается на Операторы2. Если исключительных ситуаций не возникло, Операторы2 не выполняются никогда. При передаче управления на Операторы2 исключительная ситуация деактивирована. Для ее повторного возбуждения можно воспользоваться оператором возбуждения исключения без указания текстовой строки сообщения.

try
  LObject.NeverTouch := True;
  LObject.ExecuteCoolMethod; //если метод выполнен неудачно
except
  LObject.NeverTouch := True;  //установить флаг и ничего не сообщать пользователю.
end;

try
   LObject.ExecuteCoolMethod; //если метод выполнен неудачно
except
   LObject.Destroy; //удалить неудачный объект
   raise;           // продолжить обработку исключения.
end;

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

3.15. Оператор унаследованного вызова
inherited

Работает только в унаследованном переопределенном методе. Вызывается метод предка с параметрами, заданными в параметрах к моменту вызова. Если программный блок представляет собой тело функции, то в псевдопеременной Result будет результат выполнения метода предка.

// в теле конструктора
Name := 'Object name';
Description := 'Object description';
inherited; //вызов предка с параметрами Name и Description,
           //заданными двумя предыдущими операторами. Ссылка на
           //созданный объект лежит в
           //псевдопеременной Result
Result.Name := 'New name';

4. Выражения и операции

4.1. Состав выражения
Любое выражение имеет тип. Выражения состоят из следующих элементов:
  • Целая числовая константа (0 3 234);
  • Вещественная числовая константа. Дробная часть отделяется от целой точкой (".") (3.14 2.71);
  • Строковая константа. Заключается в апострофы. ('Some string' '10', '01.01.2006' 'now');
  • Логическая константа (True False);
  • Безтиповая (любого типа) константа nil;
  • Зарезервированное слово Self. Обозначает разный объект в зависимости от контекста:
    • В методах класса кроме конструктора - использование запрещено.
    • В методах экземпляра - всегда экземпляр, для которого вызван метод.
    • В конструкторе - до вызова унаследованного метода значение не определено. После вызова - ссылка на сконструированный объект.
    • В выражениях условий отбора - объект, для которого принимается решение о его вхождении в отбор.
  • Квалификатор.
  • Агрегат.

4.2. Квалификатор

Квалификатор обозначает объект, переменную, параметр, свойство, поле, вызов функции. Квалификатор состоит из идентификаторов, разделенных точкой.

Result
AName
Caption
LObject.Name
LObject.Parent.Name
LObject.ChildCount
LObject.HasAsParent(LOtherObject)

При интерпретации квалификатора используется следующий порядок разбора идентификатора:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Локальная переменная
  3. Параметр
  4. Имя элемента перечисления
  5. Имя класса. Вне контекста означает ссылку на соответствующий объект класса TClass
  6. Имя поля
  7. Имя метода
  8. Имя свойства

При интерпретации квалификатора внутри выражения агрегата правила разбора идентификатора изменяются:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Имя элемента перечисления
  3. Имя класса. Если это имя агрегируемого класса, то дальнейшие разыменования относятся к агрегируемому объекту
  4. Имя поля
  5. Имя метода
  6. Имя свойства
  7. Локальная переменная
  8. Параметр

4.3. Агрегат

Агрегат определяет агрегированное значение над экземплярами определенного класса, удовлетворяющими условиям агрегации. Агрегаты бывают следующих типов:

  • any - первый попавшийся объект. Результат имеет тип ссылки на объект агрегируемого класса.
    any(TObject with Master = Self.Parent)
//первый попавшийся объект, имеющий значение
//свойства Master равным значению свойства
//Parent текущего (контекстного) объекта.
  • count - количество объектов. Результат имеет целочисленный тип.
    count(TObject with Master = Self.Parent)
//количество объектов, имеющих значение свойства
//Master равным значению свойства Parent
//текущего объекта.
  • sum - сумма значений свойства, поля или функции объектов. Результат имеет тип суммируемого поля, свойства или функции
    sum(TExam.Mark with Master = LStudent) //сумма
//баллов студента по его испытаниям
  • max, min - соответственно максимальное и минимальное значений свойства, поля или функции объектов. Результат имеет тип агрегируемого поля, свойства или функции
    min(TObject.Created) // момент создания первого
//объекта Системы.

Внутри выражения агрегата правила разбора идентификатора изменяются на следующие:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Имя элемента перечисления
  3. Имя класса. Если это имя агрегируемого класса, то дальнейшие разыменования относятся к агрегируемому объекту
  4. Имя поля
  5. Имя метода
  6. Имя свойства
  7. Локальная переменная
  8. Параметр

4.4. Операции

Операции связывают элементы выражений.

Таблица операций в порядке приоритета:
Левый операнд | Правый операнд
 | Целый | Вещест- венный | Дата | Время | Дата со временем | Логи- ческий | Строковый | Объект | nil
not
Нет | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
* (звездочка)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
/ (слэш, дробь)
Целый | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
div
Целый | Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
and
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
or
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
+ (плюс)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Строковый | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
- (минус)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Целый | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Вещест- венный | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
=, <> (равно, не равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Логи- ческий
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Логи- ческий
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
<, >, <=, >= (меньше, больше, меньше либо равно, больше либо равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
is
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
as
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Объект | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено

4.4.1. Особенности применения операций
  1. Приоритет сравнений ниже приоритета операций булевой логики. Поэтому выражение
    LObject.Master = LMaster and LObject.Parent = LParent
    будет интерпретироваться следующим образом:
    LObject.Master = (LMaster  and LObject.Parent) = LParent
    и вызовет ошибку компиляции из-за применения операции and к объектам. Необходимо писать:
    (LObject.Master = LMaster) and (LObject.Parent = LParent)
  2. Любое значение (выражение любого типа) сравнивается с безтиповой константой nil:
          LObject := any(TObject with Name = 'Some name');
      if LObject = nil then
         .....
  3. Операции "Унарный минус" не существует. Для задания отрицательных констант пользуйтесь конструкцией 0-Значение:
    Result := 0-1;

5. Формальная грамматика
Goal: MethodBody | Expression;

MethodBody: [ConstantDeclaration] [VariableDeclaration] CompoundStatement ";";

ConstantDeclaration: "const" Ident ":" DomainSpecification ";"
  [{Ident ":" DomainSpecification ";"}];

VariableDeclaration: "var" DomainDefinition [{DomainDefinition}];

DomainDefinition: Ident ":" DomainSpecification ";";

DomainSpecification: IntegerDomainDefinition
  | StringDomainDefinition
  | FloatDomainDefinition
  | DateDomainDefinition
  | TimeDomainDefinition
  | DateTimeDomainDefinition
  | BooleanDomainDefinition
  | BlobDomainDefinition
  | EnumerationDomainDefinition
  | Ident;

IntegerDomainDefinition: "integer";
StringDomainDefinition: "string" "[" Number "]";
FloatDomainDefinition: "float" ["(" Number ["." Number] ")"];
DateDomainDefinition: "date";
TimeDomainDefinition: "time";
DateTimeDomainDefinition: "datetime";
BooleanDomainDefinition: "boolean";
BlobDomainDefinition: "blob" | "clob";
EnumerationDomainDefinition: "(" Ident {"," Ident} ")";

CompoundStatement: "begin" Statement [{";" Statement}] "end";

Statement:
  | CompoundStatement
  | AssignmentStatement
  | InheritedStatement
  | CallStatement
  | IfStatement
  | CaseStatement
  | ForStatement
  | WhileStatement
  | RepeatStatement
  | TryFinallyStatement
  | TryExceptStatement
  | RaiseStatement
  | ForEachStatement
  | ExitStatement;

AssignmentStatement:  Qualifier ":=" Expression;

CallStatement: Qualifier;

InheritedStatement: "inherited";

IfStatement: "if" Expression "then" Statement ["else" Statement];

CaseStatement: "case" Expression "of" {CaseBranch} ["else" Statement ";"] "end";

CaseBranch: CaseLabel [{',' CaseLabel}] ":" Statement ";";

CaseLabel: Number | Ident;

ForStatement: "for" Ident ":=" Expression ("to"|"downto")
  Expression "do" Statement;

WhileStatement: "while" Expression "do" Statement;

RepeatStatement: "repeat" Statement [{";" Statement}] "until" Expression;

TryFinallyStatement: "try" Statement [{";" Statement}] "finally"
  Statement [{";" Statement}] "end";

TryExceptStatement: "try" Statement [{";" Statement}] "except"
  Statement [{";" Statement}] "end";

RaiseStatement: "raise" [Expression];

ForEachStatement: "for" "each" Ident "of" Ident ["with" Expression]
  ["by" Expression] "do" Statement;

ExitStatement: "exit";

Expression: ComparedExpression [{RelationOperation Expression}];

ComparedExpression: Addon [{AdditionOperaton ComparedExpression}];

Addon: Factor [{MultiplicativeOperation Addon}];

Factor: "(" Expression ")"
  | "not" Expression
  | Number ["." Number]
  | StringConstant
  | Qualifier
  | "nil"
  | "True"
  | "False"
  | "(" Expression "is" Ident ")"
  | "any" Aggregate
  | "count" Aggregate
  | "sum" Aggregate
  | "max" Aggregate
  | "min" Aggregate;

Aggregate: "(" Ident ["." Ident] ["with" Expression] ")";

Qualifier: QualifierPart [{"." QualifierPart}];

QualifierPart: Ident ["(" Expression [{", " Expression}] ")"]
  | "self"
  | "(" Qualifier "as" Ident ")";

RelationOperation: "<"
  | ">"
  | "<="
  | ">="
  | "="
  | "<>";

AdditionOperaton: "+"
  | "-"
  | "or";

MultiplicativeOperation: "*"
  | "/"
  | "div"
  | "and";

6. Соглашения

6.1. Соглашения о наименованиях

В качестве вводимых (объявляемых) идентификаторов необходимо использовать так называемую нотацию InfixCaps. Если при создании имени используется несколько слов, то необходимо использовать заглавную букву для каждого слова в имени. Для разделения слов нельзя использовать символ подчеркивания. Все сущности именуются на английском языке, при этом использование сокращений является оправданным только в случае, если длина образуемого имени не согласуется с внешними по отношению к соображениям бизнес-логики ограничениям.

  • Имя класса должно начинаться с латинской буквы 'T'.
    Имя | Наименование
    TObjectList | Список объектов
    TLearnPlan | Учебный план
  • Имя поля должно начинаться с латинской буквы 'F'.
    Имя | Наименование
    FLearnPeriod | Период обучения
    FExamMark | Оценка за экзамен
  • Имя свойства не имеет префикса.
    Имя | Наименование
    ExamKind | Вид рубежного испытания
    ContactPhone | Контактный телефон
    Если членом класса для чтения свойства является поля, то имя свойства должно повторять имя поля без префикса 'F'. Если членом класса для чтения свойства является метод, то имя поля должно повторять имя метода без слова 'Get'.
  • Имя параметра не имеет префикса.
    Имя | Наименование
    OrderNumber | Номер приказа
    ExamDate | Дата проведения экзамена
    Параметры, используемые для инициализации значений полей, должны иметь имя, повторяющее имя поля без префикса 'F'. При компиляции тела метода, написанного на языке PascalScript имена параметров и имена свойств будут распознаваться в соответствии с порядком разбора идентификаторов, как это описано здесь и здесь.
  • Имена методов должны представлять собой императивный глагол на английском языке, выражающий смысл того, что метод делает. Имена методов не имеют префикса. Имена методов, используемых для получения значений свойств должны (как члены класса для чтения), должны начинаться со слова Get. Имена методов, используемых для установки значений свойств должны (как члены класса для записи), должны начинаться со слова Set.
    Имя | Наименование
    CountMarkSumm | Вычислить сумму баллов
    GetAge | Получить значение возраста
    SetMark | Установить значение оценки
  • Имена локальных переменных должны начинаться с латинской буквы 'L'.
    LMarkSumm (сумма баллов), LObjectCount (количество объектов).
  • Имена доменов должны начинаться с латинской буквы 'T'. В именах доменов допустимы пробелы. Рекомендуется к имени домена добавлять слово 'domain' (через пробел), а для обязательных доменов 'required domain' (через пробел) тогда, когда необходимо исключить возможность использования этих доменов в текстах на PascalScript. Первым словом в имени домена-ссылки должно быть имя класса домена. Исключением являются имена доменов, соответствующих простым типам данных без дополнительных ограничений. Имена таких доменов могут повторять имена типов языка PascalScript (Integer, Boolean, Float).
    Имя | Класс домена | Наименование
    TPrice domain | Вещественный | домен Цена
    TWeight required domain | Целочисленный | домен Вес (обязательный)
    Boolean | Логический | Логический
    TClassMember required domain | Ссылка | домен Член класса
  • Имена элементов перечислений должны иметь префикс из двух или трех символов, идентифицирующий соответствующий домен-перечисление. Префикс записывается строчными буквами. Например,
    Имя | Наименование
    для домена TExamKind (вид испытания)
    ekTest | зачет
    ekExam | экзамен
    ekDifTest | дифференцированный зачет
    для домена TAggregateKind (вид агрегата)
    agCount | количество
    agSumm | сумма
    agAverage | среднее значение
    Настоятельно рекомендуется давать уникальные имена элементов перечислений в пределах всей системы.

6.2. Cтилевое оформление исходного кода

Код на языке PascalScript, являющийся частью поставляемого решения, должен быть оформлен в соответствии с изложенными правилами.

6.2.1. Использование строк, пробелов и отступов

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

Пробелы, запрещенные к использованию:

  • До или после точки "."
  • Между именем вызываемого метода и открывающей скобкой "("
  • После открывающей скобки "(" или перед закрывающей ")"
  • Перед точкой с запятой ";"
  • Перед двоеточием ":"
  • Перед запятой ","

Двоеточие для всех объявлений переменных не должно содержать перед собой пробелов и иметь один пробел после перед именем типа.

Всегда необходимо использовать два пробела для всех уровней отступа. Другими словами, первый уровень отступает на два пробела, второй на четыре и так далее. Никогда не используйте символы табуляции.

Существует несколько исключений из этого правила. Зарезервированные слова var, begin и end, относящиеся к программному блоку вцелом, всегда должны примыкать к левой границе. Код внутри блока begin..end должен иметь отступ два символа.

Все строки должны быть ограничены 80 столбцами. Строки, длиннее чем 80 столбцов должны быть разделены и перенесены. Все перенесенные строки должны быть выровнены по первой строке и иметь отступ в два символа. Зарезервированное слово begin всегда должно находиться на своей отдельной строке.

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

6.2.2. Оформление объявлений и операторов

Все переменные с их типами должны быть объявлены на различных строках.

Простые операторы содержат одну точку с запятой. Если Вам необходимо разделить оператор, то перенесите продолжение оператора на следующую строку с отступом в два пробела.
  MyValue :=
    MyValue + (SomeVeryLongStatement / OtherLongStatement);

Составные операторы всегда заканчиваются точкой с запятой.
begin
  MyStatement;
  MyNext Statement;
  MyLastStatement;
end;

Каждое присвоение и каждое выражение должно располагаться на разных строках.

Оператор "if"

Оператор if всегда должен располагаться по крайней мере на двух строках
if A < B then DoSomething;
if A < B then
  DoSomething;
В случае составного оператора необходимо поместить каждый оператор на новую строку.
  if A < B then begin
    DoSomething;
    DoSomethingElse;
  end else begin
    DoThis;
    DoThat;
  end;

  if A < B then
  begin
    DoSomething;
    DoSomethingElse;
  end
  else
  begin
    DoThis;
    DoThat;
  end;
Все остальные варианты расположения операторов не рекомендуются и не одобряются, хотя и являются синтаксически правильными.

Оператор "for"

  for i := 0 to 10 do begin
    DoSomething;
    DoSomethingElse;
  end;

  for i := 0 to 10 do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  for I := 0 to 10 do
    DoSomething;

Оператор "while"

  while x < j  do begin
    DoSomething;
    DoSomethingElse;
  end;
  while x < j do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  while x < j do
    Something;

Оператор "repeat..until"

  repeat
    x := j;
    j := UpdateValue;
  until j > 25;

Оператор "case"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
  case LCode of
    1, 3:
      begin
        Incr := FIncrement + 1;
        FinalIncr := FIncrement div FLineDiv;
        Count := FLineDiv;
      end;
    2, 4:
      begin
        Incr := FPageIncrement;
        FinalIncr := Incr + 1;
        Incr := Incr div FPageDiv;
        Count := FPageDiv;
      end;
  else
    begin
      Count := 0;
      Incr := 0;
      FinalIncr := 0;
    end;
  end;

Оператор "try"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
try
  try
    EnumItems(CurrentThreadID, LDisable, 0);
    Result := TaskList;
  except
    EnableItems(TaskList);
    raise;
  end;
finally
  TaskList := SaveList;
  TaskActive := SaveActive;
end;


Мельница данных ((раздел целиком))

Мельница данных- Класс TMethod (Методы) (раздел целиком) (23.04.2022) (одним файлом)
Класс TMethod (Методы)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

1. Конструктор TMethod.Create (Конструктор метода)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
Body (Тело) | TMethodBody (Исходные тексты методов) |  | Доступен |

Конструирует объект класса TMethod (Методы) .

2. Поле TMethod.FBody (Тело)
FBody: TMethodBody (Исходные тексты методов) .

Используется для хранения значений свойства TMethod.Body (Тело)
.

3. Свойство TMethod.Body (Тело)
Body: TMethodBody (Исходные тексты методов) .

Для чтения и записи свойства используется поле TMethod.FBody (Тело) .

4. Свойство TMethod.CallTemplate (Шаблон вызова)
CallTemplate: TLongString (Длинная строка) . Вычисление свойства отложено.

Для чтения значения свойства используется функция TMethod.CallTemplate (Шаблон вызова) .

5. Функция TMethod.CallTemplate (Шаблон вызова)

Возвращает значение типа TLongString (Длинная строка) .

Используется для вычисления значений свойства TMethod.CallTemplate (Шаблон вызова)
.


Мельница данных ((раздел целиком))

Мельница данных- Руководство пользователя обозревателя данных (раздел целиком) (23.04.2022) (одним файлом)
Руководство пользователя обозревателя данных

1. Запуск обозревателя данных

Для начала работы необходимо запустить исполняемый файл DataBrowser.exe. Это можно сделать посредством ярлыка, создаваемого инсталлятором Системы:

Ярлык обозревателя данных

При его запуске отобразится окно входа в систему:

Окно логина обозревателя данных

Для запуска системы необходимо заполнить поля формы входа в систему, после чего нажать кнопку ОК или клавишу Enter на клавиатуре. Если система ранее запускалась на Вашем локальном компьютере, то поля формы (за исключением поля Пароль) будут заполнены данными, введенными в прошлый раз. Если система на компьютере запускается впервые, то при открытии формы ее поля будут пустыми. Для заполнения полей формы необходимо знать, на каком типе сервера БД работает система, имя базы данных, с которой предстоит работать, имя пользователя и пароль. Если Вы не располагаете такой информацией, узнайте ее у администратора системы.

  • Источник данных - в этом поле из выпадающего списка выберите тип сервера баз данных, на котором функционирует система; возможен выбор из трех вариантов:
    • если система работает на сервере Interbase (Firebird), выберите пункт Interbase/FireBird Server;
    • если система работает на сервере Oracle, выберите пункт Oracle Database Server;
    • если система работает на сервере MSSQL, выберите пункт Microsoft SQL Server.
  • База данных - в этом поле необходимо указать имя базы данных.
  • Имя пользователя - в этом поле введите Ваше имя пользователя (логин).
  • Пароль - в это поле введите Ваш пароль.
Для удобства последующего запуска системы Вы можете воспользоваться флажками "Сохранить пароль" и "Входить автоматически".
  • Сохранить пароль - если установить этот флажок, то Ваш пароль будет запомнен и подставлен в поле Пароль при следующем запуске системы. В связи с тем, что информация о вводимом Вами пароле будет сохранена на Вашем локальном компьютере, пользоваться этим флажком рекомендуется только в том случае, если возможность несанкционированного доступа к Вашему компьютеру исключена.
  • Входить автоматически - этот флажок доступен только при установленном флажке "Сохранить пароль". Если установить этот флажок, то при следующем входе в систему Вам не придется заполнять поля формы и нажимать кнопку OK или клавишу Enter. Форма покажется на некоторое время, после чего произойдет автоматический вход в систему.

Если Вы установили флажок "Входить автоматически", но хотите изменить ранее введенную в поля информацию, необходимо выполнить щелчок мышью (здесь и далее "щелчок мышью" означает щелчок ЛЕВОЙ кнопкой мыши. Если необходим щелчок ПРАВОЙ кнопкой мыши, то будет указано "щелчок правой кнопкой мыши") на форме во время ее показа. После этого можно будет изменить ранее установленные в полях значения.

2. Элементы интерфейса пользователя

При входе в систему на экране отобразиться ее главное окно. Макет главного окна системы:

Макет главного окна обозревателя данных

В заголовке главного окна системы отображается имя запущенного приложения (Databrowser.exe), имя пользователя (sysdba) и имя базы данных (C:\project\databases\icecream.fdb). Интерфейс состоит из трех основных элементов:

  1. В верхней части экрана расположена Панель инструментов. На ней расположены иконки, соответствующие доступным в настоящее время действиям, а также доступным для текущего пользователя формам.
  2. В левой части экрана расположен Инспектор объектов, позволяющий просматривать и редактировать свойства объектов, выбранных в таблицах данных.
  3. Основную часть экрана занимают Формы с Таблицами данных. Таблицы данных используются для просмотра и редактирования объектов, учитываемых в системе.

3. Работа с формами и таблицами данных

Для отображения записей об учитываемых в системе объектах используются формы с таблицами данных. Каждая форма представляет собой отдельное окно с заголовком, на котором отображается ее наименование. Основную часть окна формы занимают таблицы данных. Переключаться между доступными формами можно либо при помощи щелчка мышью по иконке, соответствующей форме на Панели инструментов, либо при щелчке мышью на самом окне формы (если форма видна). В каждый момент времени активной является одна из форм (или ни одной). Окно формы можно "перетаскивать" (здесь и далее "перетащить" объект означает подвести к нему указатель мыши, нажать левую кнопку, удерживая кнопку переместить объект на новое место, после чего отпустить кнопку мыши) по экрану за заголовок, изменять его размеры, минимизировать, восстановить, раскрывать на весь экран или закрывать. Эти действия осуществляются стандартным для среды Windows образом. При закрытии формы соответствующая ей иконка на панели инструментов будет отображена неактивной. При щелчке мышью по такой иконке форма откроется, и иконка станет активной.

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

3.1. Подчиненные таблицы данных и взаимное расположение главной и подчиненных таблиц

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

Например, на рисунке в главной таблице "Представительства" выбрано представительство ООО "Холод плюс". При этом в подчиненной таблице "Продажи представительства" отображаются только те продажи, которые осуществлены данным представительством.

Подчиненные таблицы могут располагаться двумя способами:

  • на закладках - в этом случае в нижней части главной таблицы отображаются закладки с наименованиями подчиненных таблиц; переключаться между подчиненными таблицами можно путем щелчка мышью по соответствующей закладке;
    Отображение подчиненных таблиц на закладках
  • в отдельных окнах - в этом случае каждая из подчиненных таблиц располагается в своем окне; окна имеют заголовки, соответствующие наименованиям таблиц; окна, в которых отображаются подчиненные таблицы, можно перетаскивать за заголовок в любое другое место экрана, минимизировать, восстанавливать, закрывать и т.д.
    Отображение подчиненных представлений в отдельных окнах

Изменять соотношение размера главной и подчиненных таблиц можно путем перетаскивания горизонтального разделителя мышью. Для этого необходимо подвести указатель мыши к границе раздела зон главной и подчиненных таблиц и когда курсор примет форму горизонтального разделителя ( Горизонтальный разделитель) перетащить разделитель выше или ниже. При отображении подчиненных таблиц в отдельных окнах можно изменять соотношение ширины подчиненных таблиц. Для этого нужно подвести указатель мыши к вертикальной границе таблиц и когда указатель примет форму вертикального разделителя ( Вертикальный разделитель), перетащить разделитель вправо или влево.

При отображении подчиненных таблиц на закладках занимаемая ими область также может быть минимизирована. Для этого необходимо подвести курсор к границе раздела зон главной и подчиненной таблиц и когда он примет форму горизонтального разделителя ( Горизонтальный разделитель) выполнить двойной щелчок мышью.

Минимизация зоны подчиненных таблиц

Восстановить отображение подчиненных таблиц можно либо путем нажатия кнопки "Восстановить" ( Кнопка восстановления размеров зоны подчиненных таблиц) в заголовке минимизированного окна, либо при помощи двойного щелчка мышью на этом заголовке.

3.2. Отображение учитываемых объектов в таблице данных

Таблица данных имеет строки и колонки. Строки таблицы (или записи) соответствуют учитываемым объектам. Колонки таблицы соответствуют свойствам объектов.

Макет таблицы данных

На рисунке представлен макет таблицы данных, в которой отображаются объекты, соответствующие сортам фруктового мороженого. Таблица данных имеет наименование "Сорта фруктового мороженого", которое отображается на соответствующей закладке (1). Таблица имеет пять строк (2), соответствующих пяти сортам фруктового мороженого. Выделенной в настоящее время является первая строка. Таблица имеет пять колонок, соответствующих свойствам учитываемых сортов мороженого. Каждая колонка имеет заголовок (4), отражающий отображаемое в этой колонке свойство. Активной в настоящее время является первая колонка. Активным элементом данных (3) является ячейка, расположенная в первой строке в первом столбце.

На рисунке активная строка и активный элемент данных выделяются оттенками синего цвета. Цвета, применяемые для выделения элементов данных, зависят от локальных настроек операционной системы Windows (стилей) на компьютере пользователя.

Под заголовком каждой колонки расположена строка фильтра (5). При помощи ввода в этой строке условия отбора или выбора значений из выпадающего списка можно осуществлять фильтрацию отображаемых в таблице данных.

Если отображаемые данные не помещаются в окно по ширине, то активной становится горизонтальная полоса прокрутки (7). С ее помощью можно пролистывать колонки таблицы вправо и влево. Если данные не помещаются в окно по вертикали, то активной становится вертикальная полоса прокрутки (8). С ее помощью можно пролистывать записи об объектах вверх и вниз. При щелчке правой кнопкой мыши на полосе прокрутки (если она активна) доступны действия по быстрой прокрутке содержимого таблицы.

При щелчке правой кнопкой мыши в области таблицы данных отображается контекстное меню. Контекстное меню отображает список действий, доступных над объектами, отображаемыми в таблице данных. Вызываемые действия выполняются для тех объектов, которые являются выделенными в таблице данных. Если ни одного объекта не выделено, некоторые действия контекстного меню могут быть недоступны. Набор действий, отображаемых в контекстном меню различен в разных таблицах данных.

  1. Заголовок закладки с именем таблицы данных.
  2. Выделенный объект.
  3. Выделенный элемент данных.
  4. Заголовок колонки.
  5. Строка фильтра.
  6. Флажок для выбора объектов.
  7. Горизонтальная полоса прокрутки.
  8. Вертикальная полоса прокрутки

3.2.1. Иерархические таблицы данных

Если отображаемые в таблице данные имеют иерархическую структуру (т.е. присутствует "вхождение" одних объектов в другие), то в таблице данных объекты могут отображаться в виде "дерева".

Иерархическая таблица данных

На рисунке представлена таблица данных, отображающая периоды обучения студентов. Эти данные имеют иерархическую структуру, которая отражает вхождение учебных модулей в состав семестров, а семестров в состав учебных годов. В первой колонке иерархической таблицы данных слева от элементов данных, имеющих подчиненные элементы, отображаются значки Свернутый узел дерева или Развернутый узел дерева. При щелчке мышью по значку Свернутый узел дерева отображаются подчиненные объекты. Значок Свернутый узел дерева при этом превращается в значок Развернутый узел дерева. При щелчке мышью по значку Развернутый узел дерева подчиненные объекты скрываются и значок Развернутый узел дерева превращается в Свернутый узел дерева. На рисунке для объектов "Учебный год 2005-2006" и его подчиненных объектов "I семестр" и "II семестр" подчиненные объекты отображены. Щелчком по значку Развернутый узел дерева подчиненные объекты можно скрыть. Для объектов "I семестр" и "II семестр" учебного года 2006-2007 подчиненные объекты скрыты. Щелчком по значку Свернутый узел дерева их можно отобразить. При горизонтальном пролистывании таблицы данных вправо или влево "дерево" объектов всегда отображается слева от самого левого столбца.

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

3.3. Выбор объектов в таблице данных

Выбор одного объекта в таблице данных может осуществляться либо щелчком мышью в соответствующей строке, либо при помощи стрелок ("вверх" и "вниз") на клавиатуре. Выбор активной колонки и активного элемента данных также может производиться щелчком мышью или при помощи стрелок ("вправо" и "влево") на клавиатуре.

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

При выборе нескольких объектов в главной таблице в подчиненной таблице будут отображены записи, соответствующие подчиненным объектам, отобранным для ВСЕХ объектов, выбранных в главной таблице.

Произвольный выбор объектов

На рисунке представлена таблица данных "Учащиеся", имеющая ряд подчиненных таблиц. На рисунке открыта подчиненная таблица "Родственники и контактные лица". В таблице данных "Учащиеся" путем установки флажка произвольным образом выбраны три учащихся с фамилиями Матвеева, Зимогляд и Анчевский. При этом в подчиненной таблице "Родственники и контактные лица" отображены родители всех троих учащихся.

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

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

  • для выделения нескольких объектов подряд можно щелкнуть мышью в любом месте записи, соответствующей первому объекту, а затем, удерживая клавишу Shift, щелкнуть по записи, соответствующей последнему объекту; все объекты между первым и последним, включая их, будут выделены;
  • осуществлять произвольный выбор объектов можно щелчком мышью в любом месте записи, удерживая клавишу Ctrl ;
  • можно воспользоваться действиями, доступными в подменю "Выбранные" на панели инструментов или в контекстном меню:
    • Выбрать все - все отображаемые в настоящий момент в таблице данных объекты будут выбраны;
    • Показать только выбранные - в таблице данных будут отображены только те объекты, которые помечены как выбранные; остальные объекты будут скрыты;
    • Показать все - если ранее было установлен отбор только выбранных объектов, этот отбор будет снят, и снова будут отображены все доступные в таблице объекты.

При выборе объектов изменяется информация, отображаемая Инспектором объектов. Если выбран один объект, то Инспектор объектов отображает и позволяет редактировать все доступные пользователю свойства этого объекта. Если выбрано несколько объектов, отображение и редактирование свойств Инспектором объектов происходит по правилам, описанным в разделе 5 "Работа с Инспектором объектов".

При выполнении действий над объектами выбранное действие будет выполнено для всех выбранных объектов. Если не выбрано ни одного объекта, некоторые действия могут быть недоступны.

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

3.4. Изменение порядка отображения колонок

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

Изменение порядка отображения колонок

На рисунке изображено перетаскивание заголовка колонки "Вид упаковки" в таблице данных "Сорта мороженого". После того, как кнопка мыши будет отпущена, колонка "Вид упаковки" станет третьей слева, а колонка "Число продаж" второй.

3.5. Скрытие и отображение колонок

Любая из видимых в таблице данных колонок может быть скрыта. Для этого необходимо выделить любой элемент данных в колонке, щелчком правой кнопкой мыши открыть контекстное меню и в нем в подменю "колонка" выбрать действие "Скрыть эту колонку".

На рисунке показано как скрыть колонку "Вид упаковки" в таблице данных "Сорта мороженого". Описанным выше образом можно скрыть любое число колонок таблицы данных кроме последней. Если в таблице данных осталась одна колонка, то действие "Скрыть эту колонку" будет недоступно. Для отображения скрытых ранее колонок таблицы данных необходимо воспользоваться действием "Показать скрытые колонки" в подменю "колонка" контекстного меню. (На рис. 12. действие располагается ниже действия "Скрыть эту колонку"). Если ни одной колонки таблицы данных не скрыто, то действие "Показать скрытые колонки" будет недоступно. Действия, расположенные в подменю "колонка" доступны также на панели инструментов.

3.6. Сортировка данных в таблицах

Отображаемые в таблице данные могут быть отсортированы по возрастанию или по убыванию значений свойств, отображаемых в одной или нескольких колонках. Для сортировки данных по одной колонке необходимо выполнить щелчок мышью не ее заголовке. Данные будут отсортированы по возрастанию значения в этой колонке. Если щелкнуть мышью по заголовку колонки еще раз, то данные будут отсортированы по убыванию значения в этой колонке. В заголовке конке появится стрелочка, отображающая порядок сортировки (направленная вверх в случае сортировки по возрастанию и вниз в случае сортировки по убыванию). Если выполнить щелчок мышью по заголовку другой колонки, то данные будут отсортированы по значению в новой колонке.

Сортировка данных по одной колонке

На рисунке данные в таблице данных "Учащиеся" отсортированы по значению в колонке "Фамилия" по возрастанию. В заголовке колонки "Фамилия" отображается направленная вверх стрелочка. Для сортировки данных по значениям в нескольких колонках необходимо выполнить щелчок мышью на заголовке первой колонки, затем, удерживая клавишу Ctrl, выполнить щелчок по заголовку второй колонки и т.д. При этом в заголовках колонок будут отображаться стрелочки, соответствующие направлению сортировки и цифры, соответствующие порядку колонок в сортировке.

Сортировка данных по нескольким колонкам

На рисунке представлен пример сортировки данных таблицы данных "Учащиеся" по региону (по возрастанию), затем по полу (по убыванию) и затем по фамилии (по возрастанию). В заголовках колонок отображены соответствующие стрелочки с цифрами 1, 2 и 3.

В иерархических таблицах данные сортируются в пределах каждого уровня иерархии.

Сортировка данных в иерархической таблице

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

3.7. Группировка данных в таблицах

Данные в таблице данных могут быть сгруппированы по значениям свойств, отображаемым в одной или в нескольких колонках.

Для осуществления группировки по значению в одной из колонок необходимо выделить любой элемент данных в этой колонке. Затем щелчком правой кнопки мыши открыть контекстное меню и в нем в подменю "колонка" выбрать действие "Группировать по этой колонке".

Осуществление группировки данных

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

При отображении данных в сгруппированном виде для каждой группы будет отображен заголовок на более темном фоне. В заголовке группы будут отображены наименование и значение свойства, по которому осуществлена группировка, а слева от наименования будет расположен значок Развернутый узел дерева или Свернутый узел дерева. При нажатии на значок Развернутый узел дерева можно скрывать объекты группы (для группы будет отображен только ее заголовок). Значок Развернутый узел дерева при этом изменится на Свернутый узел дерева. При нажатии на значок Свернутый узел дерева объекты, входящие в группу, будут снова отображены.

Отображение данных в сгруппированном виде

На рисунке данные в таблице данных "Все продажи" сгруппированы по значению в колонке "Представительство". Группы объектов, соответствующие представительствам ЗАО "Айс девелопмент", ЗАО "Фрост интернешнл" и ООО "Заморозь соседа", раскрыты. Группы, соответствующие ОАО "Красный нос" и ООО "Дед мороз и лето", свернуты.

Данные могут группироваться и по нескольким колонкам. Для этого необходимо повторить описанные выше действия для всех колонок, которые должны быть включены в группировку.

Группировка данных по нескольким колонкам

На рисунке представлен пример группировки данных, отображаемых в таблице данных "Все продажи" по колонкам "Регион" и "Сорт мороженого".

Для снятия группировки и отображения данных в стандартном виде необходимо воспользоваться действием "Очистить группировку", которое также доступно в контекстном меню в подменю "колонка" (на рисунке расположено в выпадающем меню ниже действия "Группировать по этой колонке").

Действия, расположенные в подменю "колонка", доступны также на панели инструментов.

3.8. Фильтрация данных в таблицах

Фильтрация данных (отображение только тех данных, которые удовлетворяют некоторому условию) осуществляется по значениям, отображаемым в колонках, при помощи строки фильтра. Строка фильтра расположена ниже заголовка колонки. Фильтрация данных может осуществляться двумя способами:

  • путем выбора значения из выпадающего списка, доступного при нажатии кнопки Кнопка выпадающего списка в строке фильтра
  • путем записи условия фильтрации в строке фильтра

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

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

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

Отображение данных в отфильтрованном виде

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

Для фильтрации данных по более сложному условию можно воспользоваться вторым способом - записью условия фильтрации в строке фильтра. Условие фильтрации записывается по следующим правилам:

  1. Строка разделяется на части посредством системного разделителя (системный разделитель устанавливается в настройках операционной системы Windows). Обычно - точка с запятой, ";"
  2. Каждая часть строки интерпретируется самостоятельно, и эти части объединяются логическим "ИЛИ"
  3. При интерпретации каждой части проверяются следующие условия:
    Часть строки | Правило отбора объектов
    * Будут отобраны только те объекты, у которых значение в колонке не является пустым (установлено).
    !* Будут отобраны только те объекты, у которых значение в колонке является пустым (не установлено).
    начинается с символов '<=', '<', '>=', '>' | Будут отобраны только те объекты, у которых значение в колонке удовлетворяет условию.
    включает в себя символы '*' и/или '?' | Будут отобраны только те объекты, у которых значение в колонке удовлетворяет шаблону, в котором знак '?' соответствует одному любому символу, а знак '*' - любому количеству любых символов.
    начинается с символа '!' | Будут отобраны только те объекты, у которых значение в колонке не удовлетворяет условию, переданному оставшейся частью строки (знак '!' означает отрицание).
    представляет собой строку в апострофах (одиночных кавычках) | Содержание строки не анализируется по приведенным выше правилам. Будут отобраны только те объекты, у которых значение данного свойства соответствует строке, заключенной в апострофы.
    любая другая строка | Будут отобраны только те объекты, у которых значение данного свойства соответствует введенной строке (строки чувствительны к регистру).
  4. Условия, указанные в разных колонках, объединяются логическим "И"

После ввода в строке фильтр требуемого условия необходимо нажать клавишу Enter.

Фильтрация данных по сложному условию

В таблице данных "Все продажи" на рисунке отобраны только те записи, для которых верно следующее: Продажи осуществлены в регионе "Москва" или "Тверская область"; при этом наименование проданного сорта мороженого начинается с "Б"; при этом число продаж данного сорта больше 100.

Сделать заключение о том, что отображаемые в таблице данные отфильтрованы, можно по наличию в строке фильтра записи отличной от "(Все)". Снять фильтрацию данных можно одним из двух способов:

  • выбрать в строке фильтра из выпадающего списка пункт "(Все)"
  • удалить все символы, записанные в строке фильтра и нажать клавишу Enter

3.9. Отображение итоговых значений (агрегатов) по колонкам

По любой из колонок таблицы данных может быть рассчитано и отображено итоговое значение (агрегат). В зависимости от типа отображаемого в колонке свойства могут быть вычислены следующие агрегаты:

  • количество объектов (для свойств любых типов)
  • сумма значений (для числовых значений)
  • наименьшее (минимальное) значение (для строковых, числовых, логических значений, перечислений, значений типа даты, времени, даты со временем)
  • наибольшее (максимальное) значение (аналогично наименьшему значению)
  • среднее значение (для числовых значений)

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

Таблица данных с агрегатом по одной из колонок

На рисунке в нижней части таблицы данных отображена строка на светло-желтом фоне, в которой в колонке "Число продаж" показана сумма числа всех продаж, отображаемых в таблице.

Агрегат может быть вычислен и показан по любой из колонок.

Если данные в таблице отфильтрованы, то агрегат будет рассчитан только по тем записям, которые отобраны по условию фильтрации.

Если данные в таблице сгруппированы, то агрегаты будут рассчитаны как для всех отображаемых в таблице данных, так и отдельно для каждой группы.

Отображение агрегатов для сгруппированных данных

На рисунке данные о продажах сгруппированы по региону. Суммы числа продаж и среднее значение выручки отображены как для каждого региона (в строках на ярко-желтом фоне), так и для всех продаж в целом (в строке на светло-желтом фоне внизу таблицы).

Если свернуть группы, то можно просматривать только итоговые значения агрегатов для групп и для всех объектов в целом. Агрегаты при этом будут видны только в случае, если они отображаются правее надписи с именем и значением параметра группировки.

Режим отображения только агрегатов для групп

3.10. Редактирование данных в таблице

В таблице данных может редактироваться значение одного свойства одного объекта. Для того чтобы изменить отображаемое в таблице данных значение необходимо выделить требуемый элемент данных щелчком мышью или клавишами со стрелками на клавиатуре, после чего перевести элемент данных в режим редактирования. Это можно сделать одним из двух способов:

  • выполнить двойной щелчок мышью на элементе данных
  • при выделенном активном элементе данных нажать клавишу Enter на клавиатуре

После перевода элемента данных в режим редактирования отображаемый в нем текст будет выделен. Текст может быть отображен на белом или на сером фоне. Справа от текста могут появиться кнопки.

Перевод элемента данных в режим редактирования

На рисунке элемент данных в пятой сверху строке в первой колонке (текст "Белоснежка") переведен в режим редактирования.

Отображение элемента данных в режиме редактирования зависит от типа отображаемого свойства, доступности свойства для изменения и допустимости установленного значения.

  1. Редактирование значения "только для чтения"
    Если текст отображается на сером фоне, это означает, что свойство доступно только для чтения. У Вас нет возможности изменять его значение. Такое значение (или его часть) можно выделить и скопировать при помощи сочетания клавиш Ctrl+Ins или Ctrl+C и затем вставить в доступном для ввода значений месте в этом или в любом другом приложении.

  2. Редактирование недопустимого значения
    Если текст отображается на зеленом фоне, это означает, что установленное в данный момент значение недопустимо. Значение считается недопустимым, в одном из следующих случаев:
    • значение, обязательное для заполнения, не установлено
    • для свойства установлено значение, не удовлетворяющее его типу (например, на приведенном выше рисунке для числового свойства установлено значение, включающее буквы). Форматы, допустимые для значений различных типов, соответствуют локальным настройкам операционной системы Windows
    • длина текста для свойства строкового типа превышает максимально допустимую длину
    • введенное значение больше максимально допустимого или меньше минимально допустимого
    • для свойства, предполагающего выбор из списка или из справочника, установлено значение, не соответствующее ни одному из допустимых значений из списка или справочника
    Пока для свойства не будет установлено допустимое значение, применить выполненное изменение не удастся.

  3. Редактирование значения
    Если в режиме редактирования в ячейке отображается обычный текст на белом фоне, то значение свойства доступно для изменения. Редактирование значения производится при помощи клавиш клавиатуры. Выделенное значение или его часть может быть скопирована и вставлена стандартным образом. При редактировании текста обращайте внимание на тип свойства (строковое, числовое, дата и т.п.). Если введенное значение не будет удовлетворять типу, то оно будет считаться недопустимым и станет отображаться на зеленом фоне. Форматы, допустимые для значений различных типов, соответствуют локальным настройкам операционной системы Windows. После изменения значения необходимо нажать клавишу Enter для того, чтобы применить сделанные изменения.
  4. Если слева от текста в ячейке отображается флажок, это означает, что свойство может иметь одно из двух возможных значений. Одно из значений соответствует установленному флажку, другое - снятому. Если для свойства допустимо пустое значение, то в случае его установки флажок будет отображен на сером фоне и справа от него будет отображен текст "(Нет)".
    Редактирование логического значения "истина" Редактирование логического значения "ложь"
    Изменение значения такого свойства производится либо щелчком мыши по флажку, либо путем нажатия клавиши Пробел на клавиатуре.
  5. Редактирование значения в выпадающем списке
    Если справа от текста отображается кнопка с направленной вниз стрелкой, это означает, что значение свойства должно быть выбрано из списка допустимых значений. Изменять такое значение можно двумя способами:

    • Нажать на кнопку Кнопка выпадающего списка, расположенную справа от текста, в открывшемся выпадающем списке выбрать новое значение.

      Выбор значения из таблицы данных

      На рисунке показан выбор значения из выпадающего списка. Если Вы выбираете значение при помощи мыши, то достаточно выполнить щелчок мышью на нужном значении. Для выбора значения при помощи клавиатуры необходимо воспользоваться клавишами-стрелками "вверх" и "вниз", и когда нужное значение будет выделено, нажать клавишу Enter. Если для свойства допустимо пустое значение, то первым элементом выпадающего списка будет элемент "(Нет)". Если список включает больше восьми элементов, то в нем будет доступна вертикальная полоса прокрутки.

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

  6. Редактирование значения с выбором
    Если справа от текста отображается кнопка с тремя точками, это означает, что данное свойство предполагает выбор значения из другой таблицы данных. Изменять такое значение можно двумя способами:

    • Нажать на кнопку Кнопка выбора, расположенную справа от текста; при этом откроется таблица данных, в которой нужно будет выбрать новое значение. В правом нижнем углу этой таблицы данных будут расположены кнопки OK и Отмена. Для выбора значения можно щелкнуть мышью по нужной записи или воспользоваться стрелками на клавиатуре. После выбора нужного значения нажмите кнопку OK. Если Вы не хотите менять ранее установленное значение, нажмите кнопку Отмена.

      Выбор значения из таблицы данных

      На рисунке представлена таблица данных, которая будет отображена для выбора значения свойства, представляющего собой сорт мороженого.

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

  7. Редактирование значения с выбором и выпадающим списком
    Если справа от текста отображаются две кнопки - кнопка со стрелкой и кнопка с тремя точками, то можно как выбирать значение из выпадающего списка, так и выбирать значение из таблицы данных (описано выше). В этом случае так же можно вводить текст, соответствующий допустимому значению с клавиатуры. После ввода значения с клавиатуры необходимо нажать клавишу Enter.

  8. Редактирование большого значения

    Если справа от текста отображены три кнопки, а сам текст представляет собой строку "(Данные)" или строку "(Нет)" это означает, что данное свойство представляет собой большой объект. Большой объект может быть текстом, файлом, содержащим изображение, xml-документ, исходный текст программных модулей или просто любые бинарные данные.

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

    Окно для редактирования большого объекта

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

    Предупреждение окна редактирования большого объекта

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

    Копка Кнопка загрузки из файла позволяет загрузить содержимое большого объекта из файла. При нажатии этой кнопки отобразится стандартный диалог открытия файла Windows, в котором можно выбрать нужный файл, после чего нажать кнопку Открыть. При замене содержимого большого объекта новым будет отображено предупреждение:

    Предупреждение при загрузке из файла большого объекта

    Если нажать кнопку Да, то содержание большого объекта будет заменено новым, загруженным из указанного файла. Если нажать кнопку Нет, то содержание большого объекта не изменится

    Кнопка Кнопка сохранения в файл позволяет сохранить содержимое большого объекта в файл. При нажатии этой кнопки отобразится стандартный диалог сохранения файла Windows, в котором необходимо задать расположение и имя файла и нажать кнопку Сохранить. При сохранении файла необходимо явно указать его расширение. При сохранении файла никаких предупреждений не отображается.

    После изменения содержания большого объекта необходимо нажать клавишу Enter.

3.11. Выполнение действий над объектами

Все действия, которые могут быть произведены над объектами, могут быть выполнены одним из трех способов:

  • выбор действия в контекстном меню
  • вызов действия при помощи клавиш клавиатуры - "горячих клавиш" (доступно не для всех действий)
  • вызов действия при помощи иконки на панели инструментов (доступно не для всех действий)

При помощи действий производится добавление, удаление объектов, запуск различных процедур, выполняемых над данными, формирование отчетов.

Перечень всех действий, доступных в текущей таблице данных расположен в контекстном меню, которое отображается при нажатии правой кнопки мыши в зоне таблицы данных. Некоторые из действий выполняются для выбранных объектов (одного или нескольких), например, действие "Удалить". Для выполнения других действий выбор конкретного объекта не нужен, например, для действия "Добавить". Выбор действия в контекстном меню может производиться как при помощи мыши, так и при помощи стрелок на клавиатуре.

Если для действия установлены " горячие клавиши ", то из обозначения можно будет увидеть в правой части пункта контекстного меню. Действия могут вызываться как при нажатии одной клавиши, так и при помощи сочетания клавиш.

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

Выполнение действий над объектами при помощи контекстного меню

На рисунке изображено контекстное меню, отображающее все действия, доступные над объектом, соответствующим студенту Алехиной Елене Михайловне. Действиям "Добавить студента-специалиста", "Удалить" и "Обновить" соответствуют "горячие клавиши". Пункты меню "Перемещения", "Колонка", "Выбранные" имеют подменю. На рисунке открыто подменю пункта "Перемещения".

Для некоторых действий могут быть установлены изображения-иконки. В этом случае иконки отображаются на панели инструментов (подробнее в разделе 4.13. "Работа с панелью инструментов").

Если выполнение процедуры или отчета требует задания параметров, то при вызове действия отобразится форма задания параметров. Для выполнения действия необходимо заполнить поля формы и нажать кнопку OK (подробнее в разделе 6 "Работа с формой задания параметров").

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

Предупреждение при выполнении действия

Если в таком окне нажать кнопку Да, то действие будет выполнено. Если нажать кнопку Нет, то действие будет отменено.

3.12. Работа с панелью инструментов

На панели инструментов отображаются иконки, соответствующие доступным пользователю действиям и формам. Иконки могут иметь подписи, соответствующие наименованием действий или форм. Вызов действий или переключение между активными формами осуществляется при помощи щелчка мышью на одной из иконок. Если иконок много и они не помещаются на панели инструментов по ширине, то слева или справа отображаются кнопки прокрутки. Для прокрутки содержимого панели инструментов достаточно подвести указатель мыши к кнопке прокрутки.

На рисунке представлен пример панели инструментов. Иконки с подписями "Создать", "Удалить", "Колонка", "Выбранные", "Перенос в Excel" соответствуют доступным в текущей таблице данных действиям. Иконки с надписями "Системная форма" и "Продажи мороженого" соответствуют доступным пользователю формам. Справа от иконки "Продажи мороженого" расположена кнопка прокрутки. Подведя указатель мыши к этой кнопке, можно увидеть иконки, расположенные правее и не поместившиеся на панели инструментов.

Некоторые кнопки панели инструментов могут иметь выпадающие кнопки. Выпадающие кнопки соответствуют пунктам подменю контекстного меню. Справа от кнопок, имеющих выпадающие кнопки, расположена направленная вниз стрелочка. Если нажать мышью на эту стрелочку, то отобразится панель с выпадающими кнопками. На рисунке кнопки "Колонка" и "Выбранные" имеют выпадающие кнопки.

Панель выпадающих кнопок

Как и в контекстном меню, на панели инструментов некоторые кнопки могут быть недоступны. Доступность кнопки зависит от того, какие объекты в настоящий момент выделены, и от применимости действия к выделенным объектам.

3.13. Стандартные действия, доступные в любых таблицах данных

Ряд стандартных действий, доступных объектов любого типа, может быть вызван из любой таблицы данных. Разработчиком конкретной прикладной системы некоторые из перечисленных в данном разделе действий могут быть скрыты. Также перечень доступных стандартных действий зависит от прав доступа конкретного пользователя.

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

3.13.1. Копирование и вставка объектов

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

  1. Выбрать один или несколько объектов, которые Вы хотите скопировать (см. раздел 4.3. "Выбор объектов в таблице данных").
  2. Вызвать действие "Копировать" из контекстного меню или при помощи иконки на панели инструментов.
  3. Перейти в таблицу данных, в которую Вы хотите вставить скопированные объекты.
  4. Вызвать действие "Вставить" из контекстного меню или при помощи иконки на панели инструментов.

При копировании и вставке происходит создание копии объекта. Все свойства нового объекта, кроме свойства "Имя" (или замещающего его свойства), будут такими же, как у первичного объекта. Свойство имя будет равно строке, составленной из слова "Копия " и имени первичного объекта. После вставки объекта значение свойства "Имя" можно изменить.

Действия "Копировать" и "Вставить" имеют соответствующие иконки на панели инструментов:
Кнопка "копировать" Кнопка "вставить"

3.13.2. Подменю "Колонка" - работа с колонкой

Действия, доступные в подменю "Колонка" в контекстном меню или на панели инструментов могут быть применены к колонкам любой таблицы данных. Доступность тех или иных действий над колонкой зависит от типа данных, отображаемых в колонке, и от того, какие действия над колонкой уже совершены (например, нельзя вычислить сумму значений строкового типа, или нельзя очистить группировку, если данные не сгруппированы).

Иконка "Колонка" на панели инструментов имеет выпадающие кнопки:
Кнопки подменю работы с колонкой

Действия, доступные в подменю "Колонка", описаны в разделах 4.6. "Скрытие и отображение колонок", 4.8. "Группировка данных в таблицах", 4.10. "Отображение итоговых значений (агрегатов) по колонкам".

3.13.3. Подменю "Выбранные" - работа с выбранными объектами

Действия, доступные в подменю "Выбранные" позволяют быстро отбирать и снимать отбор с объектов, а также устанавливать режим отображения в таблице данных только тех объектов, которые помечены как выбранные.

Иконка "Выбранные" на панели инструментов имеет выпадающие кнопки:
Кнопки подменю работы с выбранными объектами

Назначение этих действий описано в разделе 4.3. "Выбор объектов в таблице данных".

3.13.4. Перенос в Excel

Данные, отображаемые в любой из таблиц данных, могут быть перенесены в MS Excel. При этом в MS Excel будут сохранены все настройки отображения данных (сортировка по одной или нескольким колонкам, группировка, отображение итоговых значений). Действие "Перенос в Excel" может быть вызвано из контекстного меню или при помощи иконки на панели инструментов. С данными, перенесенными в MS Excel, далее могут производиться любые манипуляции средствами этого приложения.

Если в таблице много записей, то перенос данных в Excel может занять некоторое время. Если это время превышает 10 сек., то отобразится окно, сообщающая, что система находится в работе. В этом окне будет отображен индикатор процесса переноса данных:
Индикатор прогресса переноса данных в Excel

Действие "Перенос в Excel" имеет соответствующую иконку на панели инструментов:
Кнопка переноса в Excel

3.13.5. Экспорт данных

Отображаемые в таблицах данных объекты могут быть экспортированы в виде xml-документа. Для того, чтобы осуществить экспорт объектов, необходимо выполнить следующее:

  1. Выбрать объекты, подлежащие экспорту (см. раздел 4.3. "Выбор объектов в таблице данных").
  2. Вызвать действие "Экспортировать" из контекстного меню или при помощи иконки на панели инструментов.
  3. В открывшемся окне сохранения файла указать местоположение и имя файла. Дать файлу расширение .xml.

3.13.6. Обновление данных таблицы

После выполнения действий над различными объектами, хранящимися в системе, их новое состояние может сразу не отобразиться в таблице данных. Для того чтобы получить из базы данных последние актуальные данные необходимо воспользоваться действием "Обновить", которое доступно в контекстном меню, при помощи иконки на панели инструментов, а также может быть доступно при нажатии клавиши F5.

Действие "Обновить" имеет соответствующую иконку на панели инструментов:
Кнопка обновления набора данных

3.13.7. Доступ к настройкам системы

При наличии соответствующих прав доступа Вы можете просматривать и изменять настройки системы. Доступ к меню настроек осуществляется при помощи действия "Настройки", которое может быть вызвано из контекстного меню или при помощи иконки на панели инструментов. При вызове этого действия отобразится форма задания настроек. Эта форма аналогична форме задания параметров (см. раздел 6 "Работа с формой задания параметров"). Если Вы имеете права администратора системы, то форма задания настроек, кроме кнопок OK и Отмена, будет иметь кнопку "По умолчанию". При нажатии этой кнопки значения, установленные в полях формы станут значениями настроек по умолчанию.

Форма задания настроек системы

Если в системе нет доступных для текущего пользователя настроек, то при вызове действия "Настройки" отобразится окно:
Сообщение об отсутствии доступных настроек

Действие "Настройки" имеет соответствующую иконку на панели инструментов:
Кнопка формы настроек

3.13.8. Дополнительные действия, доступные в иерархических таблицах данных

В иерархических таблицах данных дополнительно доступны действия, позволяющие управлять раскрытием и свертыванием элементов иерархии. Эти действия расположены в подменю "Дерево". Иконка "Дерево" на панели инструментов имеет выпадающие кнопки:
Кнопки подменю работы с иерархией

При помощи этих действий можно управлять отображением дерева иерархически организованных объектов следующим образом:

  • Развернуть все - все элементы дерева будут раскрыты.
  • Свернуть все - все дочерние элементы будут свернуты. Отображенными останутся только элементы первого уровня (не имеющие родительских элементов).
  • Развернуть от выбранного - узел дерева, соответствующий выбранному объекту и все его дочерние узлы будут раскрыты.
  • Свернуть к выбранному - узел дерева, соответствующий выбранному объекту у все его дочерние узлы будут свернуты.
  • Свернуть к этому уровню - все узлы дерева, лежащие на том же уровне, что и выбранный объект или на более низких уровнях будут свернуты.
  • Выделить дочерние - все объекты, дочерние по отношению к выбранному, будут выделены.

4. Работа с Инспектором объектов

4.1. Отображение свойств Инспектором объектов

Инспектор объектов предназначен для просмотра и редактирования свойств одного или нескольких объектов, выбранных в активной таблице данных. Инспектор объектов имеет две колонки. В левой колонке отображаются наименования свойств, в правой колонке отображаются значения свойств. Набор отображаемых свойств и их значений зависит от того, сколько объектов каких типов выбрано в текущей таблице данных (подробнее о выборе объектов см. раздел 4.3. "Выбор объектов в таблице данных"). Свойства выбранных объектов отображаются Инспектором объектов по следующим правилам:

  1. Если в таблице данных выбран один объект, то в Инспекторе объектов отображаются все свойства этого объекта, видимые пользователю.
  2. Если в таблице данных выбрано несколько объектов, то
    • Инспектор объектов будет иметь строки, соответствующие только тем свойствам, которые есть у всех выделенных объектов;
    • если у всех выделенных объектов значение свойства одинаково, то это значение будет отображено в правой колонке; в противном случае в правой колонке будет отображено пустое значение.
  3. При изменении значения свойства в Инспекторе объектов новое значение будет установлено для всех выделенных объектов.

Выбран один объект - вид на инспектор объектов
Выбран один объект - вид на таблицу

На рисунке представлен пример таблицы данных, отображающей учитываемые в системе сорта мороженого. Среди сортов мороженого есть как обычные сорта, так и сорта фруктового мороженого, дополнительно обладающие свойством "Фрукт". В таблице данных выделен один объект, соответствующий сорту фруктового мороженого "Тропический рай". При этом Инспектор объектов отображает все свойства данного объекта (в том числе свойство "Фрукт").

Выбрано несколько объектов - вид на инспектор объектов

Выбрано несколько объектов - вид на таблицу

На рисунке в той же таблице данных выбрано два объекта: сорт мороженого "Тропический рай" (фруктовое мороженое) и сорт "Белый Бим черное ухо" (обычное мороженое). При этом в Инспекторе объектов отображаются только те свойства, которые являются общими для выделенных объектов (свойство "Фрукт" не отображается). Значения свойств "Вид упаковки" и "Вес" для выбранных объектов одинаковы, поэтому их значения отображены в правой колонке Инспектора объектов. Значения остальных свойств для данных объектов различны, поэтому для этих свойств отображаются пустые значения. Если изменить одно из свойств в Инспекторе объектов, то новое значение будет установлено как для сорта мороженого "Тропический рай", так и для сорта мороженого "Белый Бим черное ухо".

Порядок отображения свойств в Инспекторе объектов устанавливается разработчиком прикладной системы. Также разработчиком прикладной системы может быть установлено отнесение свойств к категориям. В этом случае свойства могут отображаться сгруппированными по категориям. Слева от наименования каждой категории будет отображен значок Свернутый узел дерева или Развернутый узел дерева. Нажатием мышью на значок Развернутый узел дерева свойства, входящие в категорию, можно свернуть, нажатием на значок Свернутый узел дерева их можно снова отобразить.

Отображение Инспектором объектов свойств, сгруппированных по категориям

На рисунке представлен пример отображения Инспектором объектов свойств объекта, соответствующего дисциплине учебного плана студентов. Свойства, отнесенные к категориям "Формы текущего контроля" и "Распределение аудиторных часов по модулям", свернуты. Свойства, отнесенные к категории "Учебные часы" раскрыты.

В связи с тем, что выбор свойств объектов для отображения, получение и сравнение их значений происходит по специальному алгоритму, в случае одновременного выбора большого числа объектов скорость работы Инспектора объектов может снижаться. Если на вычисление значения общего свойства группы объектов требуется значительное время, то такое свойство может отображаться как свойство с отложенным вычислением. Для такого свойства в правой колонке вместо значения может отображаться строка (...). При активизации этого свойства справа отобразится кнопка со знаком вопроса Кнопка вычисления отложенного свойства. Если нажать на эту кнопку, то значение свойства будет определено и отображено.

Свойство с отложенным вычислением

4.2. Управление положением Инспектора объектов на экране и порядком отображения свойств

Инспектор объектов отображается в отдельном окне. Это окно можно перетаскивать по экрану за заголовок, изменять его размеры стандартным для операционной системы Windows образом. На панели инструментов всегда присутствует иконка Инспектора объектов, при нажатии которой можно отобразить окно Инспектора (если оно не видимо) и сделать его активным:
Кнопка инспектора объектов

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

Контекстное меню инспектора объектов

Выбор одного из пунктов контекстного меню переводит Инспектор объектов в новый режим работы. После этого рядом с пунктом меню отображается галочка Флажок в контекстном меню или точка Радиокнопка в контекстном меню. При повторном выборе помеченного пункта меню соответствующий режим работы отменяется и отметка снимается. Доступные пункты контекстного меню позволяют устанавливать следующие режимы работы Инспектора объектов.

  • При выборе пункта меню Всегда наверху окно Инспектора объектов будет всегда отображаться на переднем плане независимо от переключения между активными таблицами данных.
  • Если выбрать пункт меню Прозрачное окно, то окно Инспектора объектов станет полупрозрачным.
  • Если выбрать пункт меню Показать скрытые свойства, то кроме свойств, отображаемых в обычном режиме (свойства, созданные разработчиком прикладной системы как " видимые ") будут отображены свойства объектов, " невидимые " пользователю.
  • Пункт меню Сортировать по алфавиту позволяет отображать свойства не в порядке, установленном разработчиком прикладной системы, а в алфавитном порядке их наименований. Такой режим работы удобен в случае, если необходимо найти свойство по его наименованию.
  • Пункты подменю Группировка позволяют:
    • Группировать по категории - свойства будут отображены сгруппированными по категориям (показано на рисунке);
    • Группировать по классу - свойства будут отображены сгруппированными по классу объектов, членами которого они являются;
    • Не группировать - свойства будут отображены без группировки.

4.3. Редактирование значений свойств при помощи Инспектора объектов

При помощи Инспектора объектов удобно изменять значения свойств одного или одновременно нескольких выбранных объектов (о выборе объектов см. раздел 4.3. "Выбор объектов в таблице данных"). Одно из свойств, отображаемых в Инспекторе объектов, всегда является активным. Активное значение выделяется в Инспекторе объектов рамкой, его значение отображается в режиме редактирования.

Отображение свойств в режиме редактирования и способы изменения значений свойств аналогичны редактированию данных в таблице данных (см. раздел 4.11. "Редактирование данных в таблицах"). Отличие работы Инспектора объектов заключается в том, что с его помощью можно изменять значение свойства сразу нескольких выбранных объектов.

5. Работа с формой задания параметров

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

Форма задания параметров представляет собой форму, содержащую поля различного вида. В правом нижнем углу формы расположены кнопки ОК и Отмена.

Форма задания параметров

Слева или сверху от каждого поля расположено его наименование. Наименования поля отражает, какие данные должны быть в него введены. Поля формы объединяются в группы. Группы полей могут располагаться в столбцах или на закладках. На рисунке выше поля формы расположены в двух столбцах. Если поля расположены на закладках, то в верхней части формы отображаются заголовки закладок с их наименованиями.

Расположение полей формы на закладках

На рисунке представлена та же форма, что и на рисунке выше, но с расположением параметров на закладках.

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

Для выполнения действия, требующего задания параметров, необходимо заполнить все обязательные поля формы. После установления допустимых значений все поля формы должны приобрести белый фон. При этом условии кнопка OK станет доступной. После нажатия кнопки OK будет выполнен вызываемый метод или сформирован отчет. Если Вы хотите отменить выполнение действия, нажмите кнопку Отмена.

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

  1. Если поле имеет серый фон, то его значение недоступно для изменения. Такие поля используются для отображения дополнительной информации. Значения в таких полях могут изменяться автоматически при установке новых значений в других полях формы.
    Редактирование значения "только для чтения" на форме
  2. Обычное поле отображается в случае, когда в него должно быть введено строковое значение длиной до 128 символов, целочисленное, вещественное (с целой и дробной частью) значение, значение типа даты, времени, или даты со временем
    Редактирование недопустимого значения на форме
    В таком поле можно вводить текст с клавиатуры, копировать и вставлять его. Введенные в такое поле символы проверяются на соответствие типу данным (на основе локальных настроек компьютера) и на удовлетворение значения дополнительным условиям, которые могут быть установлены разработчиком прикладной системы. В случае если введенный набор символов соответствует недопустимому для данного поля значению, поле приобретет зеленый фон.
    Редактирование значения на форме - установлено допустимое значение
    Редактирование недопустимого значения даты на форме - установлено недопустимое значение.
  3. Для ввода строковых значений, длина которых может превышать 128 символов, отображаются расширенные поля ввода:
    Редактирование длинной строки на форме
    В таком поле можно вводить текст с клавиатуры, копировать его и вставлять. Также в таком поле может вводится многострочный текст. Перенос строки осуществляется нажатием клавиш Ctrl+Enter. Если текст имеет большое число строк, для его просмотра используется вертикальная полоса прокрутки.
  4. Для выбора значения из двух возможных вариантов используется поля, в котором отображается флажок и текстовое значение.
    Редактирование логического значения на форме
    Изменение значения в таком поле может производиться либо щелчком мыши по флажку, либо при помощи клавиши Пробел на клавиатуре. Если в данном поле пустое значение недопустимо, то переключение происходит между двумя возможными значениями (например, для поля "Пол" между значениями "Муж." и "Жен."). Если пустое значение допустимо, то переключение происходит между тремя вариантами: двумя значениями и пустым значением, для которого отображается строка "(Нет)".
  5. Если значение поля должно быть установлено путем выбора из списка допустимых значений, то в правой части поля отображается кнопка с направленной вниз стрелкой.
    Редактирование значения из выпадающего списка на форме
    Установление значения в таком поле может производиться либо при помощи выбора из выпадающего списка, открывающегося при нажатии на кнопку Кнопка выпадающего списка, либо путем ввода с клавиатуры текста, соответствующего выбираемому значению. В процессе ввода будут предлагаться допустимые варианты.
  6. Если поле предполагает ввод большого объекта, то оно отображается следующим образом:
    Редактирование большого значения на форме
    Если в поле значение не установлено, то отображается текст "(Нет)". Если значение установлено, то отображается текст "(Данные)". В правой части поля ввода расположено три кнопки:
    • Кнопка выбора при нажатии этой кнопки будет отображено окно редактирования текста большого объекта;
    • Кнопка загрузки из файла при нажатии этой кнопки большой объект можно загрузить из файла при помощи стандартного диалога открытия файла Windows;
    • Кнопка сохранения в файл при нажатии этой кнопки большой объект можно сохранить в файл при помощи стандартного диалога сохранения файла Windows.
  7. Если поле предполагает выбор объекта из другой таблицы данных, то в правой части поля отображается кнопка с тремя точками или кнопка со стрелкой и кнопка с тремя точками.
    Редактирование значения с выбором на форме
    Выбор значений в таком поле производится путем нажатия на одну из кнопок:
    • Кнопка выпадающего списка при нажатии данной кнопки отображается выпадающий список объектов которые могут быть выбраны в данном поле;
    • Кнопка выбора - при нажатии данной кнопки будет открыта таблица данных, и в ее правом нижнем углу будут расположены кнопки OK и Отмена. В открывшейся таблице нужно выбрать один объект, после чего нажать кнопку ОК.

При работе с формой задания параметров рекомендуется устанавливать в полях значения в порядке их следования на форме. Разработчиком прикладной системы может быть установлена зависимость между значениями полей. В этом случае при изменении значения в одном из полей, в других полях значения также могут автоматически измениться. Допустимость значений в одних полях может зависеть от того, какие значения установлены в других полях.

Также необходимо помнить о том, что кнопка ОК на форме задания параметров станет доступной только тогда, когда во всех полях будут установлены допустимые значения.

6. Формирование отчетов Microsoft Excel

Формирование отчетов, выгружаемых в MS Excel происходит при помощи вызова действий в таблицах данных (подробнее о вызове действий см. раздел 4.12 "Выполнение действий над объектами"). При вызове отчета на выполнение может отобразиться форма задания параметров отчета. Поля этой формы необходимо заполнить, после чего нажать кнопку ОК (подробнее о работе с формой задания параметров см. раздел 6. "Работа с формой задания параметров").

Отчеты, выгружаемые в MS Excel, как правило, имеют иконки на панели инструментов, характерные для рабочих книг Excel:
Кнопка формирования отчета Microsoft Excel

При запуске отчета на исполнение происходит создание рабочей книги Excel, в которую передаются данные, хранящиеся в базе данных. Рабочая книга может содержать данные, диаграммы, интерактивные элементы управления, и проч.. Далее средствами MS Excel могут осуществляться любые доступные действия с рабочей книгой.

Отчеты в MS Excel используются для вывода на печать документов и стандартных форм отчетности. Шаблоны отчетов создаются разработчиками прикладной системы.

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

7. Формирование отчетов в виде HTML-документов

В целях публикации отчетной информации в Internet средствами системы могут формироваться отчеты в виде HTML-документов. Формирование таких отчетов происходит путем вызова действий в таблицах данных (подробнее о вызове действий см. раздел 4.12 "Выполнение действий над объектами"). При вызове отчета на выполнение может отобразиться форма задания параметров отчета. Поля этой формы необходимо заполнить, после чего нажать кнопку ОК (подробнее о работе с формой задания параметров см. раздел 6. "Работа с формой задания параметров").

Отчеты, формируемые в виде HTML-документов, как правило имеют иконки на панели инструментов, характерные для приложения MS Internet Explorer:
Кнопка формирования XSLT-отчета

В результате работы отчета создается HTML-документ, который может содержать таблицы с данными, рисунки, ссылки и проч. Сформированный документ показывается при помощи приложения Internet Explorer. Полученный html-файл может быть опубликован в Internet, сохранен, распечатан и т.д.

Сформированный html-документ сохраняет связь в базой данных. Если в ранее открытом документе выполнить процедуру обновления, по документ отобразит последнюю версию хранящихся на сервере БД данных.

8. Взаимодействие с разработчиком в случае ошибок, проблем, вопросов по работе системы

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

Общими принципами сбора информации для обращения к разработчику должны быть:

  1. Необходимо быть готовым изложить последовательность действий пользователя в системе, начиная с открытия системы до ситуации, приводящей к ошибке, проблемной ситуации или ситуации, вызывающей вопрос.
  2. Если ошибка или проблема имеет визуальное проявление, нужно сделать скриншот (снимок) экрана. Желательно предоставлять скриншот всего экрана компьютера, а не только активного окна приложения, это даст разработчику дополнительную полезную информацию. Скришот экрана при работе в операционной системе MS Windows можно получить путем одновременного нажатия клавиш Ctrl + Print Screen (PrtScr) и последующей вставки (сочетание клавиш Shift + Ins) в какое-либо графическое приложение, например, программу Paint.
  3. Если ошибка заключается не в отображении специального окна с сообщением об ошибке, а в том, что результат работы системы является, с точки зрения пользователя, некорректным, то нужно быть готовым изложить, каким должен быть корректный результат, и чем именно результат работы системы некорректен.
  4. Если ошибка, проблема или вопрос связаны с работой третьесторонних приложений (например, отчеты, формируемые в MS Excel или MS Word, работа web-приложений системы посредством интернет-браузеров), нужно быть готовым предоставить информацию о версии третьесторонних приложений.
  5. Нужно быть готовым предоставить информацию о конфигурации рабочего места пользователя, версии операционной системы, установленном программном обеспечении и его версии, включая средства анитивирусной защиты.

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

8.1. Приложение Отладочный монитор

Приложение Отладочный монитор (DebugView.exe) устанавливается при установке платформы в любой конфигурации, предусмотренной по умолчанию, включая конфигурацию "Рабочее место пользователя". Открыть приложение можно при помощи иконки:

Иконка Debug Monitor

Когда приложение Отладочный монитор запущено, приложение Обозреватель данных выводит в него поток сообщений о действиях и событиях, происходящих в системе. В Отладочный монитор попадают все sql-запросы, направляемые с рабочего места пользователя на сервер баз данных (в случае удаленного подключения - html-запросы, направляемые на сервер приложений), информационные сообщения, предупреждения, отладочная информация, сообщения об ошибках и прочие данные.

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

  1. Закрыть приложение Обозреватель данных, если оно было открыто.
  2. Запустить приложение Отладочный монитор. Если это приложение уже было открыто, то выполнить очитку всех имеющихся в нем сообщений при помощи кнопки Очистить.
  3. В приложение Обозреватель данных выполнить всю последовательность действий, приводящих в появлению ошибки или проблемной ситуации.
  4. После возникновения ошибки или проблемной ситуации в приложении Отладочный монитор нажать кнопку Сохранить в файл, выбрать место сохранения и задать имя файла. Файл будет сохранен в формате.txt.
  5. Отправить полученный.txt-файл разработчику в составе других информационных материалов, которыми должны быть:
    • Словесное описание проблемы и способа ее воспроизведения
    • Один или несколько скриншотов экрана, иллюстрирующих проблему

После получения информации, состав которой описан в пункте 5, разработчик может запросить дополнительную информацию о проблеме.

8.2. Получение файла, содержащего информацию об ошибке

В ходе работы с системой могут отображаться специальные окна с информацией об ошибках. Эти окна могут быть двух видов:

  1. Окно с информацией о недопустимом действии пользователя (окно с шапкой синего цвета):

    Окно ошибки. Синяя шапка.

    Как правило, отображение такого окна с информацией об ошибке свидетельствует не об ошибке в функциональности системы, а о том, что пользователем выполнено недопустимое действие. Информация о том, в чем именно действие не допустимо, содержится в тексте, отображаемом в окне. Например, на приведенном выше скриншоте мы видим окно с ошибкой, отображено после попытки пользователя создать в справочнике "Уровни образования и курсы" второй записи с именем "1 курс", подчиненной родительской записи "Бакалавриат", что недопустимо. Поэтому сообщение об ошибке говорит о дублировании объекта по полю Имя.

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

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

  2. Окно с информацией об ошибке системы (окно с шапкой красного цвета).

    Окно ошибки. Красная шапка.

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

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

Сохранение информации для направления разработчику.

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

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

Информация для службы поддержки

При помощи ссылки Сформировать файл для службы поддержки можно собрать в удобном виде наиболее полную и полезную для разработчика информацию. После нажатия на ссылку будет предложен диалог сохранения файла. По умолчанию файлу будет дано имя ExceptionInfo.err. Это имя можно изменить, но расширение необходимо файла сохранить. После выбора места сохранения и имени файла и нажатия кнопки Сохранить, система отобразить предупреждение:

Предупреждение при сохранении файла для службы поддержки

К данному предупреждению нужно отнестись ответственно - отправлять полученный файл только на адреса службы поддержки системы в вашей организации или на официальный контактный адрес разработчика (если вы взаимодействуете с разработчиком напрямую). После отправки этот файл необходимо удалить.

Предоставление разработчику информации в виде.err-файла - это самый удобный и надежный вариант взаимодействия, который даст возможность разработчику решить проблему или ответить на вопрос наиболее эффективным и быстрым образом. Данный файл содержит все виды информации, которые могут быть собраны другими способами:

  • Информацию об ошибке, которая отображается по ссылке "Показать информацию для службы поддержки"
  • Сообщения Отладочного монитора, собранные за некоторое время до возникновения ошибки
  • Скриншоты экрана пользователя, включая скриншот окна с информацией об ошибке.

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

Если вы хотите обратиться к разработчику по поводу ситуации, которая не сопровождается отображением окна с ошибкой, то.err-файл можно получить следующим образом: нужно кликнуть левой кнопкой мыши по иконке с мельницей в левом углу заголовка окна текущей формы и из выпадающего меню выбрать пункт Сохранить файл для службы поддержки.

Получение файла для службы поддержки

8.3. Получение информации о третесторонних приложениях

В случае, если ошибка произошла при взаимодействии системы с третьесторонним приложением, например, при выполнении отчета MS Excel, MS Word, pdf, при работе web-приложений системы через интернет-браузер, разработчику, в дополнение к файлу с информацией об ошибке, понадобится информация о версии третьестороннего приложения, при взаимодействии с которым произошла ошибка.

Получить информацию о версии приложения можно, как правило, в окне О программе ("About box"), которое в большинстве программных продуктов представлено в пункте меню Справка.

Разработчику в составе информационных материалов нужно отправить скриншот этого окна.

В продуктах семейства Microsoft Office вызвать окно О программе можно разными способами в зависимости от версии MS Office. В программных продуктах версий до 2003 включительно это окно доступно в меню Справка / О программе. В программных продуктах версий 2007 и выше вызвать это окно можно следующим образом:

  1. В меню Файл открыть выпадающий список доступных действий и нажать кнопку Параметры Excel :
    Параметры Excel
  2. В открывшемся окне выбрать раздел Ресурсы, в правой части окна нажать кнопку О программе :
    Вызов окна О программе Excel

Окно О программе в случае MS Excel выглядит следующим образом:

Окно О программе Excel

В программе Acrobat Reader окно О программе можно вызвать из меню Справка / О программе :

Вызов окна О программе Acrobat Reader

В интернет-браузерах окно "О программе" (О Google Chrome, О FireFox, О Internet Explorer) также можно вызвать из меню Справка. Строка меню в интернет-браузерах часто бывает по умолчанию скрыта. Для того, чтобы ее отобразить, нужно нажать клавишу Alt на клавиатуре.


Мельница данных ((раздел целиком))

Мельница данных- Класс TBlobDomain (Большие объекты) (раздел целиком) (23.04.2022) (одним файлом)
Класс TBlobDomain (Большие объекты)
Унаследован от класса TDomain (Домены) .

1. Конструктор TBlobDomain.Create (Конструктор домена больших объектов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
BlobSubtype (Подтип) | TBlobSubtype (Подтип) |  | Доступен |
Extension (Расширение) | TFileExtension (Расширение имени файла) |  | Доступен |

Конструирует объект класса TBlobDomain (Большие объекты) .

2. Поле TBlobDomain.FBlobSubtype (Подтип)
FBlobSubtype: TBlobSubtype (Подтип) (обязательно для заполнения) .

Используется для хранения значений свойства TBlobDomain.BlobSubtype (Подтип)
.

3. Поле TBlobDomain.FExtension (Расширение имени)
FExtension: TFileExtension (Расширение имени файла) .

Используется для хранения значений свойства TBlobDomain.Extension (Расширение)
.

4. Свойство TBlobDomain.BlobSubtype (Подтип)
BlobSubtype: TBlobSubtype (Подтип) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBlobDomain.FBlobSubtype (Подтип) .

5. Свойство TBlobDomain.Extension (Расширение)
Extension: TFileExtension (Расширение имени файла) .

Для чтения и записи свойства используется поле TBlobDomain.FExtension (Расширение имени) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TRoutineBan (Запрет на подпрограмму) (раздел целиком) (23.04.2022) (одним файлом)
Класс TRoutineBan (Запрет на подпрограмму)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

1. Конструктор TRoutineBan.Create (Конструктор запрета на подпрограмму)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |
BannedRoutine (Запрещаемая подпрограмма) | TBannedRoutine domain (Подпрограмма для запрета) |  | Доступен |

Конструирует объект класса TRoutineBan (Запрет на подпрограмму) .

2. Поле TRoutineBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineBan.BannedClass (Запрещаемый класс)
.

3. Поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма)
FBannedRoutine: TBannedRoutine domain (Подпрограмма для запрета) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)
.

4. Свойство TRoutineBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TRoutineBan.FBannedClass (Запрещенный класс) .

5. Свойство TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)
BannedRoutine: TBannedRoutine domain (Подпрограмма для запрета) (обязательно для заполнения) .

Для чтения значения свойства используется поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма) .


Мельница данных ((раздел целиком))

Мельница данных- Интеграция функций (раздел целиком) (23.04.2022) (одним файлом)
Интеграция функций
Данный тип развития интеграции в свою очередь можно разделить на 2 пути:

1. Взаимные вызовы

В данном случае подразумевается, что какая-либо учетная система открывает возможность вызова своих встроенных функций из сторонних систем.

Доступ к функциям возможен с помощью выполнения хранимых процедур (каждое бизнес-действие, которое производит пользователь, обязательно оформляется в виде хранимой процедуры на уровне СУБД Платформы). Процедуру можно вызывать, получив доступ к СУБД. Аналогично тому, как создаются select-запросы, запросы к данным, можно делать запросы, вызывающие бизнес-функции. Все методы, отчеты, и все, что доступно пользователю, может быть вызвано и через RESTful-сервис. При этом методы будут выполняться, отчеты будут формироваться в виде Excel, Word, PDF, HTML, в соответствии с запросом вызывающей стороны. Данный функционал обеспечивается готовым "обработчиком", входящим в состав поставки Платформы.

С помощью протокола SOAP можно вызывать любой метод любого объекта, получать результаты его выполнения без ограничений.

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

Пример реализации:

В ВУЗе при формировании приказа о зачислении студента в Платформе, также автоматически создается объект "Приказ" в системе документооборота ВУЗа. В дальнейшем, передвижение приказа по маршруту согласования в решении на Платформе аналогично отображается в системе документооборота.

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

2. Встраивание

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

Существуют разные способы реализации данного пути:

- В open-source системах, как правило, слой доступа к данным вынесен в некий отдельный модуль. Характерный пример - это LMS eFront. Это Open-Source разработка, содержащая в себе большой объем php-кода, с развитым web-интерфейсом, и, в том числе, содержащая модуль доступа к данным. В процессе работы создается база MySQL база достаточно примитивной структуры. В этом случае можно изменить модуль доступа, так, чтобы вместо запросов к MySQL-базе механика делала бы запросы к базе данных Платформы. Тогда исполнение php-кода, его интерпретация происходит в рамках сервера приложений Платформы.

Пример реализации:

Так как в базе данных Платформы уже хранятся данные о студентах, преподавателях, курсах и т.д., то при взаимодействии с системой обучения LMS, естественным, удобным и надежным решением является хранение все этих данных в одной базе данных

- В тех случаях, когда решения Платформы сами являются частью какой-либо более общей системы, и должны предоставлять свои функции, то это решается на уровне СУБД. То есть, сгенерированный Платформой прикладной код (код на соответствующем диалекте SQL) может быть интегрирован в код более масштабного хранилища, функционировать там, исполняться там, если в этом есть необходимость.

Прикладные системы на базе СУБД Teradata позволяют использовать PL/SQL-код для каких-либо наборов данных, притом, что сама база гораздо имеет продвинутые возможности автоматического контроля версий, хроникальности, аналитики.


Мельница данных ((раздел целиком))

Мельница данных- Класс TBooleanDomain (Логические) (раздел целиком) (23.04.2022) (одним файлом)
Класс TBooleanDomain (Логические)
Унаследован от класса TDomain (Домены) .

1. Конструктор TBooleanDomain.Create (Конструктор логического домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
TrueValue (Значение "Истина") | TObjectName (Имена) |  | Доступен |
FalseValue (Значение "Ложь") | TObjectName (Имена) |  | Доступен |

Конструирует объект класса TBooleanDomain (Логические) .

2. Поле TBooleanDomain.FFalseValue (Значение "Ложь")
FFalseValue: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойства TBooleanDomain.FalseValue (Значение "Ложь")
.

3. Поле TBooleanDomain.FTrueValue (Значение "Истина")
FTrueValue: TObjectName (Имена) (обязательно для заполнения) .

Используется для хранения значений свойства TBooleanDomain.TrueValue (Значение "Истина")
.

4. Свойство TBooleanDomain.FalseValue (Значение "Ложь")
FalseValue: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBooleanDomain.FFalseValue (Значение "Ложь") .

5. Свойство TBooleanDomain.TrueValue (Значение "Истина")
TrueValue: TObjectName (Имена) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TBooleanDomain.FTrueValue (Значение "Истина") .


Мельница данных ((раздел целиком))

Мельница данных- Класс TClassDomain (Ссылки на объекты) (раздел целиком) (23.04.2022) (одним файлом)
Класс TClassDomain (Ссылки на объекты)
Унаследован от класса TDomain (Домены) .

1. Конструктор TClassDomain.Create (Конструктор домена-ссылки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
ClassOfDomain (Класс домена) | TClass required domain (Класс (обязательно)) |  | Доступен |
View (Представление для выбора) | TView of ClassDomain domain (Представление) |  | Доступен |
FilterCondition (Условие отбора) | TFilterCondition (Условие отбора) |  | Доступен |
ShowObjectInfoType (Тип представления объектов) | TShowObjectInfoType (Тип представления объектов) |  | Доступен |
DeleteRule (Правило удаления) | TDeleteRule (Правило удаления) |  | Доступен |

Конструирует объект класса TClassDomain (Ссылки на объекты) .

2. Поле TClassDomain.FClass (Класс)
FClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.ClassOfDomain (Класс домена)
.

3. Поле TClassDomain.FDeleteRule (Правило удаления)
FDeleteRule: TDeleteRule (Правило удаления) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.DeleteRule (Правило удаления)
.

4. Поле TClassDomain.FFilterCondition (Условие отбора)
FFilterCondition: TFilterCondition (Условие отбора) .

Используется для хранения значений свойства TClassDomain.FilterCondition (Условие отбора)
.

5. Поле TClassDomain.FShowObjectInfoType (Тип представления объектов)
FShowObjectInfoType: TShowObjectInfoType (Тип представления объектов) (обязательно для заполнения) .

Используется для хранения значений свойства TClassDomain.ShowObjectInfoType (Тип представления объектов)
.

6. Поле TClassDomain.FView (Представление)
FView: TView of ClassDomain domain (Представление) .

Используется для хранения значений свойства TClassDomain.View (Представление)
.

7. Свойство TClassDomain.ClassOfDomain (Класс домена)
ClassOfDomain: TClass domain (Класс) .

Для чтения и записи свойства используется поле TClassDomain.FClass (Класс) .

8. Свойство TClassDomain.ClassReplicationStatus (Статус репликации класса)

9. Свойство TClassDomain.DeleteRule (Правило удаления)
DeleteRule: TDeleteRule (Правило удаления) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClassDomain.FDeleteRule (Правило удаления) .

10. Свойство TClassDomain.FilterCondition (Условие отбора)
FilterCondition: TFilterCondition (Условие отбора) .

Для чтения и записи свойства используется поле TClassDomain.FFilterCondition (Условие отбора) .

11. Свойство TClassDomain.ShowObjectInfoType (Тип представления объектов)
ShowObjectInfoType: TShowObjectInfoType (Тип представления объектов) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClassDomain.FShowObjectInfoType (Тип представления объектов) .

12. Свойство TClassDomain.View (Представление)
View: TView of ClassDomain domain (Представление) .

Для чтения и записи свойства используется поле TClassDomain.FView (Представление) .


Мельница данных ((раздел целиком))

Мельница данных- Класс TOleObjectMethod (Метод Ole-объекта) (раздел целиком) (23.04.2022) (одним файлом)
Класс TOleObjectMethod (Метод Ole-объекта)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

1. Конструктор TOleObjectMethod.Create (Конструктор метода Ole-объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
CodeLibrary (Библиотека кода) | TCodeLibrary domain (Библиотека кода) |  | Доступен |
ClassID (Идентификатор класса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |
Method (Метод) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TOleObjectMethod (Метод Ole-объекта) .

2. Поле TOleObjectMethod.FClassID (Идентификатор класса)
FClassID: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TOleObjectMethod.ClassID (Идентификатор класса)
.

3. Поле TOleObjectMethod.FCodeLibrary (Библиотека кода)
FCodeLibrary: TCodeLibrary domain (Библиотека кода) .

Используется для хранения значений свойства TOleObjectMethod.CodeLibrary (Библиотека кода)
.

4. Поле TOleObjectMethod.FMethod (Имя метода)
FMethod: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TOleObjectMethod.Method (Метод)
.

5. Свойство TOleObjectMethod.ClassID (Идентификатор класса)
ClassID: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TOleObjectMethod.FClassID (Идентификатор класса) .

6. Свойство TOleObjectMethod.CodeLibrary (Библиотека кода)
CodeLibrary: TCodeLibrary domain (Библиотека кода) .

Для чтения и записи свойства используется поле TOleObjectMethod.FCodeLibrary (Библиотека кода) .

7. Свойство TOleObjectMethod.Method (Метод)
Method: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TOleObjectMethod.FMethod (Имя метода) .


Мельница данных (одним файлом)

Мельница данных (одним файлом) (23.04.2022)
1. Технологическая платформа "Мельница Данных"
Документация online
Мельница Данных

Документация по технологической платформе.
  • Руководство пользователя обозревателя данных
  • Руководство пользователя построителя запросов
  • Руководство администратора
  • Руководство разработчика на платформе
  • Руководство разработчика для построителя запросов

2. Руководство пользователя обозревателя данных

2.1. Запуск обозревателя данных

Для начала работы необходимо запустить исполняемый файл DataBrowser.exe. Это можно сделать посредством ярлыка, создаваемого инсталлятором Системы:

Ярлык обозревателя данных

При его запуске отобразится окно входа в систему:

Окно логина обозревателя данных

Для запуска системы необходимо заполнить поля формы входа в систему, после чего нажать кнопку ОК или клавишу Enter на клавиатуре. Если система ранее запускалась на Вашем локальном компьютере, то поля формы (за исключением поля Пароль) будут заполнены данными, введенными в прошлый раз. Если система на компьютере запускается впервые, то при открытии формы ее поля будут пустыми. Для заполнения полей формы необходимо знать, на каком типе сервера БД работает система, имя базы данных, с которой предстоит работать, имя пользователя и пароль. Если Вы не располагаете такой информацией, узнайте ее у администратора системы.

  • Источник данных - в этом поле из выпадающего списка выберите тип сервера баз данных, на котором функционирует система; возможен выбор из трех вариантов:
    • если система работает на сервере Interbase (Firebird), выберите пункт Interbase/FireBird Server;
    • если система работает на сервере Oracle, выберите пункт Oracle Database Server;
    • если система работает на сервере MSSQL, выберите пункт Microsoft SQL Server.
  • База данных - в этом поле необходимо указать имя базы данных.
  • Имя пользователя - в этом поле введите Ваше имя пользователя (логин).
  • Пароль - в это поле введите Ваш пароль.
Для удобства последующего запуска системы Вы можете воспользоваться флажками "Сохранить пароль" и "Входить автоматически".
  • Сохранить пароль - если установить этот флажок, то Ваш пароль будет запомнен и подставлен в поле Пароль при следующем запуске системы. В связи с тем, что информация о вводимом Вами пароле будет сохранена на Вашем локальном компьютере, пользоваться этим флажком рекомендуется только в том случае, если возможность несанкционированного доступа к Вашему компьютеру исключена.
  • Входить автоматически - этот флажок доступен только при установленном флажке "Сохранить пароль". Если установить этот флажок, то при следующем входе в систему Вам не придется заполнять поля формы и нажимать кнопку OK или клавишу Enter. Форма покажется на некоторое время, после чего произойдет автоматический вход в систему.

Если Вы установили флажок "Входить автоматически", но хотите изменить ранее введенную в поля информацию, необходимо выполнить щелчок мышью (здесь и далее "щелчок мышью" означает щелчок ЛЕВОЙ кнопкой мыши. Если необходим щелчок ПРАВОЙ кнопкой мыши, то будет указано "щелчок правой кнопкой мыши") на форме во время ее показа. После этого можно будет изменить ранее установленные в полях значения.

2.2. Элементы интерфейса пользователя

При входе в систему на экране отобразиться ее главное окно. Макет главного окна системы:

Макет главного окна обозревателя данных

В заголовке главного окна системы отображается имя запущенного приложения (Databrowser.exe), имя пользователя (sysdba) и имя базы данных (C:\project\databases\icecream.fdb). Интерфейс состоит из трех основных элементов:

  1. В верхней части экрана расположена Панель инструментов. На ней расположены иконки, соответствующие доступным в настоящее время действиям, а также доступным для текущего пользователя формам.
  2. В левой части экрана расположен Инспектор объектов, позволяющий просматривать и редактировать свойства объектов, выбранных в таблицах данных.
  3. Основную часть экрана занимают Формы с Таблицами данных. Таблицы данных используются для просмотра и редактирования объектов, учитываемых в системе.

2.3. Работа с формами и таблицами данных

Для отображения записей об учитываемых в системе объектах используются формы с таблицами данных. Каждая форма представляет собой отдельное окно с заголовком, на котором отображается ее наименование. Основную часть окна формы занимают таблицы данных. Переключаться между доступными формами можно либо при помощи щелчка мышью по иконке, соответствующей форме на Панели инструментов, либо при щелчке мышью на самом окне формы (если форма видна). В каждый момент времени активной является одна из форм (или ни одной). Окно формы можно "перетаскивать" (здесь и далее "перетащить" объект означает подвести к нему указатель мыши, нажать левую кнопку, удерживая кнопку переместить объект на новое место, после чего отпустить кнопку мыши) по экрану за заголовок, изменять его размеры, минимизировать, восстановить, раскрывать на весь экран или закрывать. Эти действия осуществляются стандартным для среды Windows образом. При закрытии формы соответствующая ей иконка на панели инструментов будет отображена неактивной. При щелчке мышью по такой иконке форма откроется, и иконка станет активной.

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

2.3.1. Подчиненные таблицы данных и взаимное расположение главной и подчиненных таблиц

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

Например, на рисунке в главной таблице "Представительства" выбрано представительство ООО "Холод плюс". При этом в подчиненной таблице "Продажи представительства" отображаются только те продажи, которые осуществлены данным представительством.

Подчиненные таблицы могут располагаться двумя способами:

  • на закладках - в этом случае в нижней части главной таблицы отображаются закладки с наименованиями подчиненных таблиц; переключаться между подчиненными таблицами можно путем щелчка мышью по соответствующей закладке;
    Отображение подчиненных таблиц на закладках
  • в отдельных окнах - в этом случае каждая из подчиненных таблиц располагается в своем окне; окна имеют заголовки, соответствующие наименованиям таблиц; окна, в которых отображаются подчиненные таблицы, можно перетаскивать за заголовок в любое другое место экрана, минимизировать, восстанавливать, закрывать и т.д.
    Отображение подчиненных представлений в отдельных окнах

Изменять соотношение размера главной и подчиненных таблиц можно путем перетаскивания горизонтального разделителя мышью. Для этого необходимо подвести указатель мыши к границе раздела зон главной и подчиненных таблиц и когда курсор примет форму горизонтального разделителя ( Горизонтальный разделитель) перетащить разделитель выше или ниже. При отображении подчиненных таблиц в отдельных окнах можно изменять соотношение ширины подчиненных таблиц. Для этого нужно подвести указатель мыши к вертикальной границе таблиц и когда указатель примет форму вертикального разделителя ( Вертикальный разделитель), перетащить разделитель вправо или влево.

При отображении подчиненных таблиц на закладках занимаемая ими область также может быть минимизирована. Для этого необходимо подвести курсор к границе раздела зон главной и подчиненной таблиц и когда он примет форму горизонтального разделителя ( Горизонтальный разделитель) выполнить двойной щелчок мышью.

Минимизация зоны подчиненных таблиц

Восстановить отображение подчиненных таблиц можно либо путем нажатия кнопки "Восстановить" ( Кнопка восстановления размеров зоны подчиненных таблиц) в заголовке минимизированного окна, либо при помощи двойного щелчка мышью на этом заголовке.

2.3.2. Отображение учитываемых объектов в таблице данных

Таблица данных имеет строки и колонки. Строки таблицы (или записи) соответствуют учитываемым объектам. Колонки таблицы соответствуют свойствам объектов.

Макет таблицы данных

На рисунке представлен макет таблицы данных, в которой отображаются объекты, соответствующие сортам фруктового мороженого. Таблица данных имеет наименование "Сорта фруктового мороженого", которое отображается на соответствующей закладке (1). Таблица имеет пять строк (2), соответствующих пяти сортам фруктового мороженого. Выделенной в настоящее время является первая строка. Таблица имеет пять колонок, соответствующих свойствам учитываемых сортов мороженого. Каждая колонка имеет заголовок (4), отражающий отображаемое в этой колонке свойство. Активной в настоящее время является первая колонка. Активным элементом данных (3) является ячейка, расположенная в первой строке в первом столбце.

На рисунке активная строка и активный элемент данных выделяются оттенками синего цвета. Цвета, применяемые для выделения элементов данных, зависят от локальных настроек операционной системы Windows (стилей) на компьютере пользователя.

Под заголовком каждой колонки расположена строка фильтра (5). При помощи ввода в этой строке условия отбора или выбора значений из выпадающего списка можно осуществлять фильтрацию отображаемых в таблице данных.

Если отображаемые данные не помещаются в окно по ширине, то активной становится горизонтальная полоса прокрутки (7). С ее помощью можно пролистывать колонки таблицы вправо и влево. Если данные не помещаются в окно по вертикали, то активной становится вертикальная полоса прокрутки (8). С ее помощью можно пролистывать записи об объектах вверх и вниз. При щелчке правой кнопкой мыши на полосе прокрутки (если она активна) доступны действия по быстрой прокрутке содержимого таблицы.

При щелчке правой кнопкой мыши в области таблицы данных отображается контекстное меню. Контекстное меню отображает список действий, доступных над объектами, отображаемыми в таблице данных. Вызываемые действия выполняются для тех объектов, которые являются выделенными в таблице данных. Если ни одного объекта не выделено, некоторые действия контекстного меню могут быть недоступны. Набор действий, отображаемых в контекстном меню различен в разных таблицах данных.

  1. Заголовок закладки с именем таблицы данных.
  2. Выделенный объект.
  3. Выделенный элемент данных.
  4. Заголовок колонки.
  5. Строка фильтра.
  6. Флажок для выбора объектов.
  7. Горизонтальная полоса прокрутки.
  8. Вертикальная полоса прокрутки

2.3.2.1. Иерархические таблицы данных

Если отображаемые в таблице данные имеют иерархическую структуру (т.е. присутствует "вхождение" одних объектов в другие), то в таблице данных объекты могут отображаться в виде "дерева".

Иерархическая таблица данных

На рисунке представлена таблица данных, отображающая периоды обучения студентов. Эти данные имеют иерархическую структуру, которая отражает вхождение учебных модулей в состав семестров, а семестров в состав учебных годов. В первой колонке иерархической таблицы данных слева от элементов данных, имеющих подчиненные элементы, отображаются значки Свернутый узел дерева или Развернутый узел дерева. При щелчке мышью по значку Свернутый узел дерева отображаются подчиненные объекты. Значок Свернутый узел дерева при этом превращается в значок Развернутый узел дерева. При щелчке мышью по значку Развернутый узел дерева подчиненные объекты скрываются и значок Развернутый узел дерева превращается в Свернутый узел дерева. На рисунке для объектов "Учебный год 2005-2006" и его подчиненных объектов "I семестр" и "II семестр" подчиненные объекты отображены. Щелчком по значку Развернутый узел дерева подчиненные объекты можно скрыть. Для объектов "I семестр" и "II семестр" учебного года 2006-2007 подчиненные объекты скрыты. Щелчком по значку Свернутый узел дерева их можно отобразить. При горизонтальном пролистывании таблицы данных вправо или влево "дерево" объектов всегда отображается слева от самого левого столбца.

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

2.3.3. Выбор объектов в таблице данных

Выбор одного объекта в таблице данных может осуществляться либо щелчком мышью в соответствующей строке, либо при помощи стрелок ("вверх" и "вниз") на клавиатуре. Выбор активной колонки и активного элемента данных также может производиться щелчком мышью или при помощи стрелок ("вправо" и "влево") на клавиатуре.

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

При выборе нескольких объектов в главной таблице в подчиненной таблице будут отображены записи, соответствующие подчиненным объектам, отобранным для ВСЕХ объектов, выбранных в главной таблице.

Произвольный выбор объектов

На рисунке представлена таблица данных "Учащиеся", имеющая ряд подчиненных таблиц. На рисунке открыта подчиненная таблица "Родственники и контактные лица". В таблице данных "Учащиеся" путем установки флажка произвольным образом выбраны три учащихся с фамилиями Матвеева, Зимогляд и Анчевский. При этом в подчиненной таблице "Родственники и контактные лица" отображены родители всех троих учащихся.

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

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

  • для выделения нескольких объектов подряд можно щелкнуть мышью в любом месте записи, соответствующей первому объекту, а затем, удерживая клавишу Shift, щелкнуть по записи, соответствующей последнему объекту; все объекты между первым и последним, включая их, будут выделены;
  • осуществлять произвольный выбор объектов можно щелчком мышью в любом месте записи, удерживая клавишу Ctrl ;
  • можно воспользоваться действиями, доступными в подменю "Выбранные" на панели инструментов или в контекстном меню:
    • Выбрать все - все отображаемые в настоящий момент в таблице данных объекты будут выбраны;
    • Показать только выбранные - в таблице данных будут отображены только те объекты, которые помечены как выбранные; остальные объекты будут скрыты;
    • Показать все - если ранее было установлен отбор только выбранных объектов, этот отбор будет снят, и снова будут отображены все доступные в таблице объекты.

При выборе объектов изменяется информация, отображаемая Инспектором объектов. Если выбран один объект, то Инспектор объектов отображает и позволяет редактировать все доступные пользователю свойства этого объекта. Если выбрано несколько объектов, отображение и редактирование свойств Инспектором объектов происходит по правилам, описанным в разделе 5 "Работа с Инспектором объектов".

При выполнении действий над объектами выбранное действие будет выполнено для всех выбранных объектов. Если не выбрано ни одного объекта, некоторые действия могут быть недоступны.

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

2.3.4. Изменение порядка отображения колонок

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

Изменение порядка отображения колонок

На рисунке изображено перетаскивание заголовка колонки "Вид упаковки" в таблице данных "Сорта мороженого". После того, как кнопка мыши будет отпущена, колонка "Вид упаковки" станет третьей слева, а колонка "Число продаж" второй.

2.3.5. Скрытие и отображение колонок

Любая из видимых в таблице данных колонок может быть скрыта. Для этого необходимо выделить любой элемент данных в колонке, щелчком правой кнопкой мыши открыть контекстное меню и в нем в подменю "колонка" выбрать действие "Скрыть эту колонку".

На рисунке показано как скрыть колонку "Вид упаковки" в таблице данных "Сорта мороженого". Описанным выше образом можно скрыть любое число колонок таблицы данных кроме последней. Если в таблице данных осталась одна колонка, то действие "Скрыть эту колонку" будет недоступно. Для отображения скрытых ранее колонок таблицы данных необходимо воспользоваться действием "Показать скрытые колонки" в подменю "колонка" контекстного меню. (На рис. 12. действие располагается ниже действия "Скрыть эту колонку"). Если ни одной колонки таблицы данных не скрыто, то действие "Показать скрытые колонки" будет недоступно. Действия, расположенные в подменю "колонка" доступны также на панели инструментов.

2.3.6. Сортировка данных в таблицах

Отображаемые в таблице данные могут быть отсортированы по возрастанию или по убыванию значений свойств, отображаемых в одной или нескольких колонках. Для сортировки данных по одной колонке необходимо выполнить щелчок мышью не ее заголовке. Данные будут отсортированы по возрастанию значения в этой колонке. Если щелкнуть мышью по заголовку колонки еще раз, то данные будут отсортированы по убыванию значения в этой колонке. В заголовке конке появится стрелочка, отображающая порядок сортировки (направленная вверх в случае сортировки по возрастанию и вниз в случае сортировки по убыванию). Если выполнить щелчок мышью по заголовку другой колонки, то данные будут отсортированы по значению в новой колонке.

Сортировка данных по одной колонке

На рисунке данные в таблице данных "Учащиеся" отсортированы по значению в колонке "Фамилия" по возрастанию. В заголовке колонки "Фамилия" отображается направленная вверх стрелочка. Для сортировки данных по значениям в нескольких колонках необходимо выполнить щелчок мышью на заголовке первой колонки, затем, удерживая клавишу Ctrl, выполнить щелчок по заголовку второй колонки и т.д. При этом в заголовках колонок будут отображаться стрелочки, соответствующие направлению сортировки и цифры, соответствующие порядку колонок в сортировке.

Сортировка данных по нескольким колонкам

На рисунке представлен пример сортировки данных таблицы данных "Учащиеся" по региону (по возрастанию), затем по полу (по убыванию) и затем по фамилии (по возрастанию). В заголовках колонок отображены соответствующие стрелочки с цифрами 1, 2 и 3.

В иерархических таблицах данные сортируются в пределах каждого уровня иерархии.

Сортировка данных в иерархической таблице

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

2.3.7. Группировка данных в таблицах

Данные в таблице данных могут быть сгруппированы по значениям свойств, отображаемым в одной или в нескольких колонках.

Для осуществления группировки по значению в одной из колонок необходимо выделить любой элемент данных в этой колонке. Затем щелчком правой кнопки мыши открыть контекстное меню и в нем в подменю "колонка" выбрать действие "Группировать по этой колонке".

Осуществление группировки данных

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

При отображении данных в сгруппированном виде для каждой группы будет отображен заголовок на более темном фоне. В заголовке группы будут отображены наименование и значение свойства, по которому осуществлена группировка, а слева от наименования будет расположен значок Развернутый узел дерева или Свернутый узел дерева. При нажатии на значок Развернутый узел дерева можно скрывать объекты группы (для группы будет отображен только ее заголовок). Значок Развернутый узел дерева при этом изменится на Свернутый узел дерева. При нажатии на значок Свернутый узел дерева объекты, входящие в группу, будут снова отображены.

Отображение данных в сгруппированном виде

На рисунке данные в таблице данных "Все продажи" сгруппированы по значению в колонке "Представительство". Группы объектов, соответствующие представительствам ЗАО "Айс девелопмент", ЗАО "Фрост интернешнл" и ООО "Заморозь соседа", раскрыты. Группы, соответствующие ОАО "Красный нос" и ООО "Дед мороз и лето", свернуты.

Данные могут группироваться и по нескольким колонкам. Для этого необходимо повторить описанные выше действия для всех колонок, которые должны быть включены в группировку.

Группировка данных по нескольким колонкам

На рисунке представлен пример группировки данных, отображаемых в таблице данных "Все продажи" по колонкам "Регион" и "Сорт мороженого".

Для снятия группировки и отображения данных в стандартном виде необходимо воспользоваться действием "Очистить группировку", которое также доступно в контекстном меню в подменю "колонка" (на рисунке расположено в выпадающем меню ниже действия "Группировать по этой колонке").

Действия, расположенные в подменю "колонка", доступны также на панели инструментов.

2.3.8. Фильтрация данных в таблицах

Фильтрация данных (отображение только тех данных, которые удовлетворяют некоторому условию) осуществляется по значениям, отображаемым в колонках, при помощи строки фильтра. Строка фильтра расположена ниже заголовка колонки. Фильтрация данных может осуществляться двумя способами:

  • путем выбора значения из выпадающего списка, доступного при нажатии кнопки Кнопка выпадающего списка в строке фильтра
  • путем записи условия фильтрации в строке фильтра

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

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

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

Отображение данных в отфильтрованном виде

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

Для фильтрации данных по более сложному условию можно воспользоваться вторым способом - записью условия фильтрации в строке фильтра. Условие фильтрации записывается по следующим правилам:

  1. Строка разделяется на части посредством системного разделителя (системный разделитель устанавливается в настройках операционной системы Windows). Обычно - точка с запятой, ";"
  2. Каждая часть строки интерпретируется самостоятельно, и эти части объединяются логическим "ИЛИ"
  3. При интерпретации каждой части проверяются следующие условия:
    Часть строки | Правило отбора объектов
    * Будут отобраны только те объекты, у которых значение в колонке не является пустым (установлено).
    !* Будут отобраны только те объекты, у которых значение в колонке является пустым (не установлено).
    начинается с символов '<=', '<', '>=', '>' | Будут отобраны только те объекты, у которых значение в колонке удовлетворяет условию.
    включает в себя символы '*' и/или '?' | Будут отобраны только те объекты, у которых значение в колонке удовлетворяет шаблону, в котором знак '?' соответствует одному любому символу, а знак '*' - любому количеству любых символов.
    начинается с символа '!' | Будут отобраны только те объекты, у которых значение в колонке не удовлетворяет условию, переданному оставшейся частью строки (знак '!' означает отрицание).
    представляет собой строку в апострофах (одиночных кавычках) | Содержание строки не анализируется по приведенным выше правилам. Будут отобраны только те объекты, у которых значение данного свойства соответствует строке, заключенной в апострофы.
    любая другая строка | Будут отобраны только те объекты, у которых значение данного свойства соответствует введенной строке (строки чувствительны к регистру).
  4. Условия, указанные в разных колонках, объединяются логическим "И"

После ввода в строке фильтр требуемого условия необходимо нажать клавишу Enter.

Фильтрация данных по сложному условию

В таблице данных "Все продажи" на рисунке отобраны только те записи, для которых верно следующее: Продажи осуществлены в регионе "Москва" или "Тверская область"; при этом наименование проданного сорта мороженого начинается с "Б"; при этом число продаж данного сорта больше 100.

Сделать заключение о том, что отображаемые в таблице данные отфильтрованы, можно по наличию в строке фильтра записи отличной от "(Все)". Снять фильтрацию данных можно одним из двух способов:

  • выбрать в строке фильтра из выпадающего списка пункт "(Все)"
  • удалить все символы, записанные в строке фильтра и нажать клавишу Enter

2.3.9. Отображение итоговых значений (агрегатов) по колонкам

По любой из колонок таблицы данных может быть рассчитано и отображено итоговое значение (агрегат). В зависимости от типа отображаемого в колонке свойства могут быть вычислены следующие агрегаты:

  • количество объектов (для свойств любых типов)
  • сумма значений (для числовых значений)
  • наименьшее (минимальное) значение (для строковых, числовых, логических значений, перечислений, значений типа даты, времени, даты со временем)
  • наибольшее (максимальное) значение (аналогично наименьшему значению)
  • среднее значение (для числовых значений)

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

Таблица данных с агрегатом по одной из колонок

На рисунке в нижней части таблицы данных отображена строка на светло-желтом фоне, в которой в колонке "Число продаж" показана сумма числа всех продаж, отображаемых в таблице.

Агрегат может быть вычислен и показан по любой из колонок.

Если данные в таблице отфильтрованы, то агрегат будет рассчитан только по тем записям, которые отобраны по условию фильтрации.

Если данные в таблице сгруппированы, то агрегаты будут рассчитаны как для всех отображаемых в таблице данных, так и отдельно для каждой группы.

Отображение агрегатов для сгруппированных данных

На рисунке данные о продажах сгруппированы по региону. Суммы числа продаж и среднее значение выручки отображены как для каждого региона (в строках на ярко-желтом фоне), так и для всех продаж в целом (в строке на светло-желтом фоне внизу таблицы).

Если свернуть группы, то можно просматривать только итоговые значения агрегатов для групп и для всех объектов в целом. Агрегаты при этом будут видны только в случае, если они отображаются правее надписи с именем и значением параметра группировки.

Режим отображения только агрегатов для групп

2.3.10. Редактирование данных в таблице

В таблице данных может редактироваться значение одного свойства одного объекта. Для того чтобы изменить отображаемое в таблице данных значение необходимо выделить требуемый элемент данных щелчком мышью или клавишами со стрелками на клавиатуре, после чего перевести элемент данных в режим редактирования. Это можно сделать одним из двух способов:

  • выполнить двойной щелчок мышью на элементе данных
  • при выделенном активном элементе данных нажать клавишу Enter на клавиатуре

После перевода элемента данных в режим редактирования отображаемый в нем текст будет выделен. Текст может быть отображен на белом или на сером фоне. Справа от текста могут появиться кнопки.

Перевод элемента данных в режим редактирования

На рисунке элемент данных в пятой сверху строке в первой колонке (текст "Белоснежка") переведен в режим редактирования.

Отображение элемента данных в режиме редактирования зависит от типа отображаемого свойства, доступности свойства для изменения и допустимости установленного значения.

  1. Редактирование значения "только для чтения"
    Если текст отображается на сером фоне, это означает, что свойство доступно только для чтения. У Вас нет возможности изменять его значение. Такое значение (или его часть) можно выделить и скопировать при помощи сочетания клавиш Ctrl+Ins или Ctrl+C и затем вставить в доступном для ввода значений месте в этом или в любом другом приложении.

  2. Редактирование недопустимого значения
    Если текст отображается на зеленом фоне, это означает, что установленное в данный момент значение недопустимо. Значение считается недопустимым, в одном из следующих случаев:
    • значение, обязательное для заполнения, не установлено
    • для свойства установлено значение, не удовлетворяющее его типу (например, на приведенном выше рисунке для числового свойства установлено значение, включающее буквы). Форматы, допустимые для значений различных типов, соответствуют локальным настройкам операционной системы Windows
    • длина текста для свойства строкового типа превышает максимально допустимую длину
    • введенное значение больше максимально допустимого или меньше минимально допустимого
    • для свойства, предполагающего выбор из списка или из справочника, установлено значение, не соответствующее ни одному из допустимых значений из списка или справочника
    Пока для свойства не будет установлено допустимое значение, применить выполненное изменение не удастся.

  3. Редактирование значения
    Если в режиме редактирования в ячейке отображается обычный текст на белом фоне, то значение свойства доступно для изменения. Редактирование значения производится при помощи клавиш клавиатуры. Выделенное значение или его часть может быть скопирована и вставлена стандартным образом. При редактировании текста обращайте внимание на тип свойства (строковое, числовое, дата и т.п.). Если введенное значение не будет удовлетворять типу, то оно будет считаться недопустимым и станет отображаться на зеленом фоне. Форматы, допустимые для значений различных типов, соответствуют локальным настройкам операционной системы Windows. После изменения значения необходимо нажать клавишу Enter для того, чтобы применить сделанные изменения.
  4. Если слева от текста в ячейке отображается флажок, это означает, что свойство может иметь одно из двух возможных значений. Одно из значений соответствует установленному флажку, другое - снятому. Если для свойства допустимо пустое значение, то в случае его установки флажок будет отображен на сером фоне и справа от него будет отображен текст "(Нет)".
    Редактирование логического значения "истина" Редактирование логического значения "ложь"
    Изменение значения такого свойства производится либо щелчком мыши по флажку, либо путем нажатия клавиши Пробел на клавиатуре.
  5. Редактирование значения в выпадающем списке
    Если справа от текста отображается кнопка с направленной вниз стрелкой, это означает, что значение свойства должно быть выбрано из списка допустимых значений. Изменять такое значение можно двумя способами:

    • Нажать на кнопку Кнопка выпадающего списка, расположенную справа от текста, в открывшемся выпадающем списке выбрать новое значение.

      Выбор значения из таблицы данных

      На рисунке показан выбор значения из выпадающего списка. Если Вы выбираете значение при помощи мыши, то достаточно выполнить щелчок мышью на нужном значении. Для выбора значения при помощи клавиатуры необходимо воспользоваться клавишами-стрелками "вверх" и "вниз", и когда нужное значение будет выделено, нажать клавишу Enter. Если для свойства допустимо пустое значение, то первым элементом выпадающего списка будет элемент "(Нет)". Если список включает больше восьми элементов, то в нем будет доступна вертикальная полоса прокрутки.

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

  6. Редактирование значения с выбором
    Если справа от текста отображается кнопка с тремя точками, это означает, что данное свойство предполагает выбор значения из другой таблицы данных. Изменять такое значение можно двумя способами:

    • Нажать на кнопку Кнопка выбора, расположенную справа от текста; при этом откроется таблица данных, в которой нужно будет выбрать новое значение. В правом нижнем углу этой таблицы данных будут расположены кнопки OK и Отмена. Для выбора значения можно щелкнуть мышью по нужной записи или воспользоваться стрелками на клавиатуре. После выбора нужного значения нажмите кнопку OK. Если Вы не хотите менять ранее установленное значение, нажмите кнопку Отмена.

      Выбор значения из таблицы данных

      На рисунке представлена таблица данных, которая будет отображена для выбора значения свойства, представляющего собой сорт мороженого.

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

  7. Редактирование значения с выбором и выпадающим списком
    Если справа от текста отображаются две кнопки - кнопка со стрелкой и кнопка с тремя точками, то можно как выбирать значение из выпадающего списка, так и выбирать значение из таблицы данных (описано выше). В этом случае так же можно вводить текст, соответствующий допустимому значению с клавиатуры. После ввода значения с клавиатуры необходимо нажать клавишу Enter.

  8. Редактирование большого значения

    Если справа от текста отображены три кнопки, а сам текст представляет собой строку "(Данные)" или строку "(Нет)" это означает, что данное свойство представляет собой большой объект. Большой объект может быть текстом, файлом, содержащим изображение, xml-документ, исходный текст программных модулей или просто любые бинарные данные.

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

    Окно для редактирования большого объекта

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

    Предупреждение окна редактирования большого объекта

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

    Копка Кнопка загрузки из файла позволяет загрузить содержимое большого объекта из файла. При нажатии этой кнопки отобразится стандартный диалог открытия файла Windows, в котором можно выбрать нужный файл, после чего нажать кнопку Открыть. При замене содержимого большого объекта новым будет отображено предупреждение:

    Предупреждение при загрузке из файла большого объекта

    Если нажать кнопку Да, то содержание большого объекта будет заменено новым, загруженным из указанного файла. Если нажать кнопку Нет, то содержание большого объекта не изменится

    Кнопка Кнопка сохранения в файл позволяет сохранить содержимое большого объекта в файл. При нажатии этой кнопки отобразится стандартный диалог сохранения файла Windows, в котором необходимо задать расположение и имя файла и нажать кнопку Сохранить. При сохранении файла необходимо явно указать его расширение. При сохранении файла никаких предупреждений не отображается.

    После изменения содержания большого объекта необходимо нажать клавишу Enter.

2.3.11. Выполнение действий над объектами

Все действия, которые могут быть произведены над объектами, могут быть выполнены одним из трех способов:

  • выбор действия в контекстном меню
  • вызов действия при помощи клавиш клавиатуры - "горячих клавиш" (доступно не для всех действий)
  • вызов действия при помощи иконки на панели инструментов (доступно не для всех действий)

При помощи действий производится добавление, удаление объектов, запуск различных процедур, выполняемых над данными, формирование отчетов.

Перечень всех действий, доступных в текущей таблице данных расположен в контекстном меню, которое отображается при нажатии правой кнопки мыши в зоне таблицы данных. Некоторые из действий выполняются для выбранных объектов (одного или нескольких), например, действие "Удалить". Для выполнения других действий выбор конкретного объекта не нужен, например, для действия "Добавить". Выбор действия в контекстном меню может производиться как при помощи мыши, так и при помощи стрелок на клавиатуре.

Если для действия установлены " горячие клавиши ", то из обозначения можно будет увидеть в правой части пункта контекстного меню. Действия могут вызываться как при нажатии одной клавиши, так и при помощи сочетания клавиш.

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

Выполнение действий над объектами при помощи контекстного меню

На рисунке изображено контекстное меню, отображающее все действия, доступные над объектом, соответствующим студенту Алехиной Елене Михайловне. Действиям "Добавить студента-специалиста", "Удалить" и "Обновить" соответствуют "горячие клавиши". Пункты меню "Перемещения", "Колонка", "Выбранные" имеют подменю. На рисунке открыто подменю пункта "Перемещения".

Для некоторых действий могут быть установлены изображения-иконки. В этом случае иконки отображаются на панели инструментов (подробнее в разделе 4.13. "Работа с панелью инструментов").

Если выполнение процедуры или отчета требует задания параметров, то при вызове действия отобразится форма задания параметров. Для выполнения действия необходимо заполнить поля формы и нажать кнопку OK (подробнее в разделе 6 "Работа с формой задания параметров").

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

Предупреждение при выполнении действия

Если в таком окне нажать кнопку Да, то действие будет выполнено. Если нажать кнопку Нет, то действие будет отменено.

2.3.12. Работа с панелью инструментов

На панели инструментов отображаются иконки, соответствующие доступным пользователю действиям и формам. Иконки могут иметь подписи, соответствующие наименованием действий или форм. Вызов действий или переключение между активными формами осуществляется при помощи щелчка мышью на одной из иконок. Если иконок много и они не помещаются на панели инструментов по ширине, то слева или справа отображаются кнопки прокрутки. Для прокрутки содержимого панели инструментов достаточно подвести указатель мыши к кнопке прокрутки.

На рисунке представлен пример панели инструментов. Иконки с подписями "Создать", "Удалить", "Колонка", "Выбранные", "Перенос в Excel" соответствуют доступным в текущей таблице данных действиям. Иконки с надписями "Системная форма" и "Продажи мороженого" соответствуют доступным пользователю формам. Справа от иконки "Продажи мороженого" расположена кнопка прокрутки. Подведя указатель мыши к этой кнопке, можно увидеть иконки, расположенные правее и не поместившиеся на панели инструментов.

Некоторые кнопки панели инструментов могут иметь выпадающие кнопки. Выпадающие кнопки соответствуют пунктам подменю контекстного меню. Справа от кнопок, имеющих выпадающие кнопки, расположена направленная вниз стрелочка. Если нажать мышью на эту стрелочку, то отобразится панель с выпадающими кнопками. На рисунке кнопки "Колонка" и "Выбранные" имеют выпадающие кнопки.

Панель выпадающих кнопок

Как и в контекстном меню, на панели инструментов некоторые кнопки могут быть недоступны. Доступность кнопки зависит от того, какие объекты в настоящий момент выделены, и от применимости действия к выделенным объектам.

2.3.13. Стандартные действия, доступные в любых таблицах данных

Ряд стандартных действий, доступных объектов любого типа, может быть вызван из любой таблицы данных. Разработчиком конкретной прикладной системы некоторые из перечисленных в данном разделе действий могут быть скрыты. Также перечень доступных стандартных действий зависит от прав доступа конкретного пользователя.

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

2.3.13.1. Копирование и вставка объектов

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

  1. Выбрать один или несколько объектов, которые Вы хотите скопировать (см. раздел 4.3. "Выбор объектов в таблице данных").
  2. Вызвать действие "Копировать" из контекстного меню или при помощи иконки на панели инструментов.
  3. Перейти в таблицу данных, в которую Вы хотите вставить скопированные объекты.
  4. Вызвать действие "Вставить" из контекстного меню или при помощи иконки на панели инструментов.

При копировании и вставке происходит создание копии объекта. Все свойства нового объекта, кроме свойства "Имя" (или замещающего его свойства), будут такими же, как у первичного объекта. Свойство имя будет равно строке, составленной из слова "Копия " и имени первичного объекта. После вставки объекта значение свойства "Имя" можно изменить.

Действия "Копировать" и "Вставить" имеют соответствующие иконки на панели инструментов:
Кнопка "копировать" Кнопка "вставить"

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

Действие "Перенос в Excel" имеет соответствующую иконку на панели инструментов:
Кнопка переноса в Excel

2.3.13.5. Экспорт данных

Отображаемые в таблицах данных объекты могут быть экспортированы в виде xml-документа. Для того, чтобы осуществить экспорт объектов, необходимо выполнить следующее:

  1. Выбрать объекты, подлежащие экспорту (см. раздел 4.3. "Выбор объектов в таблице данных").
  2. Вызвать действие "Экспортировать" из контекстного меню или при помощи иконки на панели инструментов.
  3. В открывшемся окне сохранения файла указать местоположение и имя файла. Дать файлу расширение .xml.

2.3.13.6. Обновление данных таблицы

После выполнения действий над различными объектами, хранящимися в системе, их новое состояние может сразу не отобразиться в таблице данных. Для того чтобы получить из базы данных последние актуальные данные необходимо воспользоваться действием "Обновить", которое доступно в контекстном меню, при помощи иконки на панели инструментов, а также может быть доступно при нажатии клавиши F5.

Действие "Обновить" имеет соответствующую иконку на панели инструментов:
Кнопка обновления набора данных

2.3.13.7. Доступ к настройкам системы

При наличии соответствующих прав доступа Вы можете просматривать и изменять настройки системы. Доступ к меню настроек осуществляется при помощи действия "Настройки", которое может быть вызвано из контекстного меню или при помощи иконки на панели инструментов. При вызове этого действия отобразится форма задания настроек. Эта форма аналогична форме задания параметров (см. раздел 6 "Работа с формой задания параметров"). Если Вы имеете права администратора системы, то форма задания настроек, кроме кнопок OK и Отмена, будет иметь кнопку "По умолчанию". При нажатии этой кнопки значения, установленные в полях формы станут значениями настроек по умолчанию.

Форма задания настроек системы

Если в системе нет доступных для текущего пользователя настроек, то при вызове действия "Настройки" отобразится окно:
Сообщение об отсутствии доступных настроек

Действие "Настройки" имеет соответствующую иконку на панели инструментов:
Кнопка формы настроек

2.3.13.8. Дополнительные действия, доступные в иерархических таблицах данных

В иерархических таблицах данных дополнительно доступны действия, позволяющие управлять раскрытием и свертыванием элементов иерархии. Эти действия расположены в подменю "Дерево". Иконка "Дерево" на панели инструментов имеет выпадающие кнопки:
Кнопки подменю работы с иерархией

При помощи этих действий можно управлять отображением дерева иерархически организованных объектов следующим образом:

  • Развернуть все - все элементы дерева будут раскрыты.
  • Свернуть все - все дочерние элементы будут свернуты. Отображенными останутся только элементы первого уровня (не имеющие родительских элементов).
  • Развернуть от выбранного - узел дерева, соответствующий выбранному объекту и все его дочерние узлы будут раскрыты.
  • Свернуть к выбранному - узел дерева, соответствующий выбранному объекту у все его дочерние узлы будут свернуты.
  • Свернуть к этому уровню - все узлы дерева, лежащие на том же уровне, что и выбранный объект или на более низких уровнях будут свернуты.
  • Выделить дочерние - все объекты, дочерние по отношению к выбранному, будут выделены.

2.4. Работа с Инспектором объектов

2.4.1. Отображение свойств Инспектором объектов

Инспектор объектов предназначен для просмотра и редактирования свойств одного или нескольких объектов, выбранных в активной таблице данных. Инспектор объектов имеет две колонки. В левой колонке отображаются наименования свойств, в правой колонке отображаются значения свойств. Набор отображаемых свойств и их значений зависит от того, сколько объектов каких типов выбрано в текущей таблице данных (подробнее о выборе объектов см. раздел 4.3. "Выбор объектов в таблице данных"). Свойства выбранных объектов отображаются Инспектором объектов по следующим правилам:

  1. Если в таблице данных выбран один объект, то в Инспекторе объектов отображаются все свойства этого объекта, видимые пользователю.
  2. Если в таблице данных выбрано несколько объектов, то
    • Инспектор объектов будет иметь строки, соответствующие только тем свойствам, которые есть у всех выделенных объектов;
    • если у всех выделенных объектов значение свойства одинаково, то это значение будет отображено в правой колонке; в противном случае в правой колонке будет отображено пустое значение.
  3. При изменении значения свойства в Инспекторе объектов новое значение будет установлено для всех выделенных объектов.

Выбран один объект - вид на инспектор объектов
Выбран один объект - вид на таблицу

На рисунке представлен пример таблицы данных, отображающей учитываемые в системе сорта мороженого. Среди сортов мороженого есть как обычные сорта, так и сорта фруктового мороженого, дополнительно обладающие свойством "Фрукт". В таблице данных выделен один объект, соответствующий сорту фруктового мороженого "Тропический рай". При этом Инспектор объектов отображает все свойства данного объекта (в том числе свойство "Фрукт").

Выбрано несколько объектов - вид на инспектор объектов

Выбрано несколько объектов - вид на таблицу

На рисунке в той же таблице данных выбрано два объекта: сорт мороженого "Тропический рай" (фруктовое мороженое) и сорт "Белый Бим черное ухо" (обычное мороженое). При этом в Инспекторе объектов отображаются только те свойства, которые являются общими для выделенных объектов (свойство "Фрукт" не отображается). Значения свойств "Вид упаковки" и "Вес" для выбранных объектов одинаковы, поэтому их значения отображены в правой колонке Инспектора объектов. Значения остальных свойств для данных объектов различны, поэтому для этих свойств отображаются пустые значения. Если изменить одно из свойств в Инспекторе объектов, то новое значение будет установлено как для сорта мороженого "Тропический рай", так и для сорта мороженого "Белый Бим черное ухо".

Порядок отображения свойств в Инспекторе объектов устанавливается разработчиком прикладной системы. Также разработчиком прикладной системы может быть установлено отнесение свойств к категориям. В этом случае свойства могут отображаться сгруппированными по категориям. Слева от наименования каждой категории будет отображен значок Свернутый узел дерева или Развернутый узел дерева. Нажатием мышью на значок Развернутый узел дерева свойства, входящие в категорию, можно свернуть, нажатием на значок Свернутый узел дерева их можно снова отобразить.

Отображение Инспектором объектов свойств, сгруппированных по категориям

На рисунке представлен пример отображения Инспектором объектов свойств объекта, соответствующего дисциплине учебного плана студентов. Свойства, отнесенные к категориям "Формы текущего контроля" и "Распределение аудиторных часов по модулям", свернуты. Свойства, отнесенные к категории "Учебные часы" раскрыты.

В связи с тем, что выбор свойств объектов для отображения, получение и сравнение их значений происходит по специальному алгоритму, в случае одновременного выбора большого числа объектов скорость работы Инспектора объектов может снижаться. Если на вычисление значения общего свойства группы объектов требуется значительное время, то такое свойство может отображаться как свойство с отложенным вычислением. Для такого свойства в правой колонке вместо значения может отображаться строка (...). При активизации этого свойства справа отобразится кнопка со знаком вопроса Кнопка вычисления отложенного свойства. Если нажать на эту кнопку, то значение свойства будет определено и отображено.

Свойство с отложенным вычислением

2.4.2. Управление положением Инспектора объектов на экране и порядком отображения свойств

Инспектор объектов отображается в отдельном окне. Это окно можно перетаскивать по экрану за заголовок, изменять его размеры стандартным для операционной системы Windows образом. На панели инструментов всегда присутствует иконка Инспектора объектов, при нажатии которой можно отобразить окно Инспектора (если оно не видимо) и сделать его активным:
Кнопка инспектора объектов

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

Контекстное меню инспектора объектов

Выбор одного из пунктов контекстного меню переводит Инспектор объектов в новый режим работы. После этого рядом с пунктом меню отображается галочка Флажок в контекстном меню или точка Радиокнопка в контекстном меню. При повторном выборе помеченного пункта меню соответствующий режим работы отменяется и отметка снимается. Доступные пункты контекстного меню позволяют устанавливать следующие режимы работы Инспектора объектов.

  • При выборе пункта меню Всегда наверху окно Инспектора объектов будет всегда отображаться на переднем плане независимо от переключения между активными таблицами данных.
  • Если выбрать пункт меню Прозрачное окно, то окно Инспектора объектов станет полупрозрачным.
  • Если выбрать пункт меню Показать скрытые свойства, то кроме свойств, отображаемых в обычном режиме (свойства, созданные разработчиком прикладной системы как " видимые ") будут отображены свойства объектов, " невидимые " пользователю.
  • Пункт меню Сортировать по алфавиту позволяет отображать свойства не в порядке, установленном разработчиком прикладной системы, а в алфавитном порядке их наименований. Такой режим работы удобен в случае, если необходимо найти свойство по его наименованию.
  • Пункты подменю Группировка позволяют:
    • Группировать по категории - свойства будут отображены сгруппированными по категориям (показано на рисунке);
    • Группировать по классу - свойства будут отображены сгруппированными по классу объектов, членами которого они являются;
    • Не группировать - свойства будут отображены без группировки.

2.4.3. Редактирование значений свойств при помощи Инспектора объектов

При помощи Инспектора объектов удобно изменять значения свойств одного или одновременно нескольких выбранных объектов (о выборе объектов см. раздел 4.3. "Выбор объектов в таблице данных"). Одно из свойств, отображаемых в Инспекторе объектов, всегда является активным. Активное значение выделяется в Инспекторе объектов рамкой, его значение отображается в режиме редактирования.

Отображение свойств в режиме редактирования и способы изменения значений свойств аналогичны редактированию данных в таблице данных (см. раздел 4.11. "Редактирование данных в таблицах"). Отличие работы Инспектора объектов заключается в том, что с его помощью можно изменять значение свойства сразу нескольких выбранных объектов.

2.5. Работа с формой задания параметров

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

Форма задания параметров представляет собой форму, содержащую поля различного вида. В правом нижнем углу формы расположены кнопки ОК и Отмена.

Форма задания параметров

Слева или сверху от каждого поля расположено его наименование. Наименования поля отражает, какие данные должны быть в него введены. Поля формы объединяются в группы. Группы полей могут располагаться в столбцах или на закладках. На рисунке выше поля формы расположены в двух столбцах. Если поля расположены на закладках, то в верхней части формы отображаются заголовки закладок с их наименованиями.

Расположение полей формы на закладках

На рисунке представлена та же форма, что и на рисунке выше, но с расположением параметров на закладках.

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

Для выполнения действия, требующего задания параметров, необходимо заполнить все обязательные поля формы. После установления допустимых значений все поля формы должны приобрести белый фон. При этом условии кнопка OK станет доступной. После нажатия кнопки OK будет выполнен вызываемый метод или сформирован отчет. Если Вы хотите отменить выполнение действия, нажмите кнопку Отмена.

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

  1. Если поле имеет серый фон, то его значение недоступно для изменения. Такие поля используются для отображения дополнительной информации. Значения в таких полях могут изменяться автоматически при установке новых значений в других полях формы.
    Редактирование значения "только для чтения" на форме
  2. Обычное поле отображается в случае, когда в него должно быть введено строковое значение длиной до 128 символов, целочисленное, вещественное (с целой и дробной частью) значение, значение типа даты, времени, или даты со временем
    Редактирование недопустимого значения на форме
    В таком поле можно вводить текст с клавиатуры, копировать и вставлять его. Введенные в такое поле символы проверяются на соответствие типу данным (на основе локальных настроек компьютера) и на удовлетворение значения дополнительным условиям, которые могут быть установлены разработчиком прикладной системы. В случае если введенный набор символов соответствует недопустимому для данного поля значению, поле приобретет зеленый фон.
    Редактирование значения на форме - установлено допустимое значение
    Редактирование недопустимого значения даты на форме - установлено недопустимое значение.
  3. Для ввода строковых значений, длина которых может превышать 128 символов, отображаются расширенные поля ввода:
    Редактирование длинной строки на форме
    В таком поле можно вводить текст с клавиатуры, копировать его и вставлять. Также в таком поле может вводится многострочный текст. Перенос строки осуществляется нажатием клавиш Ctrl+Enter. Если текст имеет большое число строк, для его просмотра используется вертикальная полоса прокрутки.
  4. Для выбора значения из двух возможных вариантов используется поля, в котором отображается флажок и текстовое значение.
    Редактирование логического значения на форме
    Изменение значения в таком поле может производиться либо щелчком мыши по флажку, либо при помощи клавиши Пробел на клавиатуре. Если в данном поле пустое значение недопустимо, то переключение происходит между двумя возможными значениями (например, для поля "Пол" между значениями "Муж." и "Жен."). Если пустое значение допустимо, то переключение происходит между тремя вариантами: двумя значениями и пустым значением, для которого отображается строка "(Нет)".
  5. Если значение поля должно быть установлено путем выбора из списка допустимых значений, то в правой части поля отображается кнопка с направленной вниз стрелкой.
    Редактирование значения из выпадающего списка на форме
    Установление значения в таком поле может производиться либо при помощи выбора из выпадающего списка, открывающегося при нажатии на кнопку Кнопка выпадающего списка, либо путем ввода с клавиатуры текста, соответствующего выбираемому значению. В процессе ввода будут предлагаться допустимые варианты.
  6. Если поле предполагает ввод большого объекта, то оно отображается следующим образом:
    Редактирование большого значения на форме
    Если в поле значение не установлено, то отображается текст "(Нет)". Если значение установлено, то отображается текст "(Данные)". В правой части поля ввода расположено три кнопки:
    • Кнопка выбора при нажатии этой кнопки будет отображено окно редактирования текста большого объекта;
    • Кнопка загрузки из файла при нажатии этой кнопки большой объект можно загрузить из файла при помощи стандартного диалога открытия файла Windows;
    • Кнопка сохранения в файл при нажатии этой кнопки большой объект можно сохранить в файл при помощи стандартного диалога сохранения файла Windows.
  7. Если поле предполагает выбор объекта из другой таблицы данных, то в правой части поля отображается кнопка с тремя точками или кнопка со стрелкой и кнопка с тремя точками.
    Редактирование значения с выбором на форме
    Выбор значений в таком поле производится путем нажатия на одну из кнопок:
    • Кнопка выпадающего списка при нажатии данной кнопки отображается выпадающий список объектов которые могут быть выбраны в данном поле;
    • Кнопка выбора - при нажатии данной кнопки будет открыта таблица данных, и в ее правом нижнем углу будут расположены кнопки OK и Отмена. В открывшейся таблице нужно выбрать один объект, после чего нажать кнопку ОК.

При работе с формой задания параметров рекомендуется устанавливать в полях значения в порядке их следования на форме. Разработчиком прикладной системы может быть установлена зависимость между значениями полей. В этом случае при изменении значения в одном из полей, в других полях значения также могут автоматически измениться. Допустимость значений в одних полях может зависеть от того, какие значения установлены в других полях.

Также необходимо помнить о том, что кнопка ОК на форме задания параметров станет доступной только тогда, когда во всех полях будут установлены допустимые значения.

2.6. Формирование отчетов Microsoft Excel

Формирование отчетов, выгружаемых в MS Excel происходит при помощи вызова действий в таблицах данных (подробнее о вызове действий см. раздел 4.12 "Выполнение действий над объектами"). При вызове отчета на выполнение может отобразиться форма задания параметров отчета. Поля этой формы необходимо заполнить, после чего нажать кнопку ОК (подробнее о работе с формой задания параметров см. раздел 6. "Работа с формой задания параметров").

Отчеты, выгружаемые в MS Excel, как правило, имеют иконки на панели инструментов, характерные для рабочих книг Excel:
Кнопка формирования отчета Microsoft Excel

При запуске отчета на исполнение происходит создание рабочей книги Excel, в которую передаются данные, хранящиеся в базе данных. Рабочая книга может содержать данные, диаграммы, интерактивные элементы управления, и проч.. Далее средствами MS Excel могут осуществляться любые доступные действия с рабочей книгой.

Отчеты в MS Excel используются для вывода на печать документов и стандартных форм отчетности. Шаблоны отчетов создаются разработчиками прикладной системы.

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

2.7. Формирование отчетов в виде HTML-документов

В целях публикации отчетной информации в Internet средствами системы могут формироваться отчеты в виде HTML-документов. Формирование таких отчетов происходит путем вызова действий в таблицах данных (подробнее о вызове действий см. раздел 4.12 "Выполнение действий над объектами"). При вызове отчета на выполнение может отобразиться форма задания параметров отчета. Поля этой формы необходимо заполнить, после чего нажать кнопку ОК (подробнее о работе с формой задания параметров см. раздел 6. "Работа с формой задания параметров").

Отчеты, формируемые в виде HTML-документов, как правило имеют иконки на панели инструментов, характерные для приложения MS Internet Explorer:
Кнопка формирования XSLT-отчета

В результате работы отчета создается HTML-документ, который может содержать таблицы с данными, рисунки, ссылки и проч. Сформированный документ показывается при помощи приложения Internet Explorer. Полученный html-файл может быть опубликован в Internet, сохранен, распечатан и т.д.

Сформированный html-документ сохраняет связь в базой данных. Если в ранее открытом документе выполнить процедуру обновления, по документ отобразит последнюю версию хранящихся на сервере БД данных.

2.8. Взаимодействие с разработчиком в случае ошибок, проблем, вопросов по работе системы

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

Общими принципами сбора информации для обращения к разработчику должны быть:

  1. Необходимо быть готовым изложить последовательность действий пользователя в системе, начиная с открытия системы до ситуации, приводящей к ошибке, проблемной ситуации или ситуации, вызывающей вопрос.
  2. Если ошибка или проблема имеет визуальное проявление, нужно сделать скриншот (снимок) экрана. Желательно предоставлять скриншот всего экрана компьютера, а не только активного окна приложения, это даст разработчику дополнительную полезную информацию. Скришот экрана при работе в операционной системе MS Windows можно получить путем одновременного нажатия клавиш Ctrl + Print Screen (PrtScr) и последующей вставки (сочетание клавиш Shift + Ins) в какое-либо графическое приложение, например, программу Paint.
  3. Если ошибка заключается не в отображении специального окна с сообщением об ошибке, а в том, что результат работы системы является, с точки зрения пользователя, некорректным, то нужно быть готовым изложить, каким должен быть корректный результат, и чем именно результат работы системы некорректен.
  4. Если ошибка, проблема или вопрос связаны с работой третьесторонних приложений (например, отчеты, формируемые в MS Excel или MS Word, работа web-приложений системы посредством интернет-браузеров), нужно быть готовым предоставить информацию о версии третьесторонних приложений.
  5. Нужно быть готовым предоставить информацию о конфигурации рабочего места пользователя, версии операционной системы, установленном программном обеспечении и его версии, включая средства анитивирусной защиты.

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

2.8.1. Приложение Отладочный монитор

Приложение Отладочный монитор (DebugView.exe) устанавливается при установке платформы в любой конфигурации, предусмотренной по умолчанию, включая конфигурацию "Рабочее место пользователя". Открыть приложение можно при помощи иконки:

Иконка Debug Monitor

Когда приложение Отладочный монитор запущено, приложение Обозреватель данных выводит в него поток сообщений о действиях и событиях, происходящих в системе. В Отладочный монитор попадают все sql-запросы, направляемые с рабочего места пользователя на сервер баз данных (в случае удаленного подключения - html-запросы, направляемые на сервер приложений), информационные сообщения, предупреждения, отладочная информация, сообщения об ошибках и прочие данные.

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

  1. Закрыть приложение Обозреватель данных, если оно было открыто.
  2. Запустить приложение Отладочный монитор. Если это приложение уже было открыто, то выполнить очитку всех имеющихся в нем сообщений при помощи кнопки Очистить.
  3. В приложение Обозреватель данных выполнить всю последовательность действий, приводящих в появлению ошибки или проблемной ситуации.
  4. После возникновения ошибки или проблемной ситуации в приложении Отладочный монитор нажать кнопку Сохранить в файл, выбрать место сохранения и задать имя файла. Файл будет сохранен в формате.txt.
  5. Отправить полученный.txt-файл разработчику в составе других информационных материалов, которыми должны быть:
    • Словесное описание проблемы и способа ее воспроизведения
    • Один или несколько скриншотов экрана, иллюстрирующих проблему

После получения информации, состав которой описан в пункте 5, разработчик может запросить дополнительную информацию о проблеме.

2.8.2. Получение файла, содержащего информацию об ошибке

В ходе работы с системой могут отображаться специальные окна с информацией об ошибках. Эти окна могут быть двух видов:

  1. Окно с информацией о недопустимом действии пользователя (окно с шапкой синего цвета):

    Окно ошибки. Синяя шапка.

    Как правило, отображение такого окна с информацией об ошибке свидетельствует не об ошибке в функциональности системы, а о том, что пользователем выполнено недопустимое действие. Информация о том, в чем именно действие не допустимо, содержится в тексте, отображаемом в окне. Например, на приведенном выше скриншоте мы видим окно с ошибкой, отображено после попытки пользователя создать в справочнике "Уровни образования и курсы" второй записи с именем "1 курс", подчиненной родительской записи "Бакалавриат", что недопустимо. Поэтому сообщение об ошибке говорит о дублировании объекта по полю Имя.

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

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

  2. Окно с информацией об ошибке системы (окно с шапкой красного цвета).

    Окно ошибки. Красная шапка.

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

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

Сохранение информации для направления разработчику.

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

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

Информация для службы поддержки

При помощи ссылки Сформировать файл для службы поддержки можно собрать в удобном виде наиболее полную и полезную для разработчика информацию. После нажатия на ссылку будет предложен диалог сохранения файла. По умолчанию файлу будет дано имя ExceptionInfo.err. Это имя можно изменить, но расширение необходимо файла сохранить. После выбора места сохранения и имени файла и нажатия кнопки Сохранить, система отобразить предупреждение:

Предупреждение при сохранении файла для службы поддержки

К данному предупреждению нужно отнестись ответственно - отправлять полученный файл только на адреса службы поддержки системы в вашей организации или на официальный контактный адрес разработчика (если вы взаимодействуете с разработчиком напрямую). После отправки этот файл необходимо удалить.

Предоставление разработчику информации в виде.err-файла - это самый удобный и надежный вариант взаимодействия, который даст возможность разработчику решить проблему или ответить на вопрос наиболее эффективным и быстрым образом. Данный файл содержит все виды информации, которые могут быть собраны другими способами:

  • Информацию об ошибке, которая отображается по ссылке "Показать информацию для службы поддержки"
  • Сообщения Отладочного монитора, собранные за некоторое время до возникновения ошибки
  • Скриншоты экрана пользователя, включая скриншот окна с информацией об ошибке.

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

Если вы хотите обратиться к разработчику по поводу ситуации, которая не сопровождается отображением окна с ошибкой, то.err-файл можно получить следующим образом: нужно кликнуть левой кнопкой мыши по иконке с мельницей в левом углу заголовка окна текущей формы и из выпадающего меню выбрать пункт Сохранить файл для службы поддержки.

Получение файла для службы поддержки

2.8.3. Получение информации о третесторонних приложениях

В случае, если ошибка произошла при взаимодействии системы с третьесторонним приложением, например, при выполнении отчета MS Excel, MS Word, pdf, при работе web-приложений системы через интернет-браузер, разработчику, в дополнение к файлу с информацией об ошибке, понадобится информация о версии третьестороннего приложения, при взаимодействии с которым произошла ошибка.

Получить информацию о версии приложения можно, как правило, в окне О программе ("About box"), которое в большинстве программных продуктов представлено в пункте меню Справка.

Разработчику в составе информационных материалов нужно отправить скриншот этого окна.

В продуктах семейства Microsoft Office вызвать окно О программе можно разными способами в зависимости от версии MS Office. В программных продуктах версий до 2003 включительно это окно доступно в меню Справка / О программе. В программных продуктах версий 2007 и выше вызвать это окно можно следующим образом:

  1. В меню Файл открыть выпадающий список доступных действий и нажать кнопку Параметры Excel :
    Параметры Excel
  2. В открывшемся окне выбрать раздел Ресурсы, в правой части окна нажать кнопку О программе :
    Вызов окна О программе Excel

Окно О программе в случае MS Excel выглядит следующим образом:

Окно О программе Excel

В программе Acrobat Reader окно О программе можно вызвать из меню Справка / О программе :

Вызов окна О программе Acrobat Reader

В интернет-браузерах окно "О программе" (О Google Chrome, О FireFox, О Internet Explorer) также можно вызвать из меню Справка. Строка меню в интернет-браузерах часто бывает по умолчанию скрыта. Для того, чтобы ее отобразить, нужно нажать клавишу Alt на клавиатуре.

3. Руководство пользователя построителя запросов

4. Руководство администратора

4.1. Установка программного обеспечения СУБД

Прежде, чем устанавливать программноге обеспечение "Мельница данных" необходимо установить и настроить программное обеспечение СУБД.

Для конфигурирования сервера БД необходимо последовать советам раздела "Конфигурирование сервера". В этом разделе описаны шаги, которые необходимо предпринять для установки сервера "с нуля". Если сервер БД у вас уже установлен и настроен, то использовать рекомендации этого раздела нет необходимости. Раздел описывает установку сервера БД минимальной поддерживаемой версии в минимально необходимой для работы "Мельницы данных" конфигурации. Если вы собираетесь использовать сервер БД для более широкого круга задач, то пользуйтесь руководствами по соответствующим СУБД.
Документация по СУБД, а также любая другая информация, полученная от производителей СУБД, имеет абсолютный приоритет перед утверждениями настоящего документа.

На каждой рабочей станции должно быть установлено и настроено программное обеспечение клиентской части СУБД. Это, как правило, некий набор библиотек и компонентов, наличие которых необходимо для соединения с сервером БД. Для обеспечения рабочей станции этими компонентами необходимо последовать советам раздела Конфигурирование клиента. В этом разделе описаны шаги, которые необходимо предпринять для установки клиентской части СУБД "с нуля". Если клиентская часть СУБД у вас уже установлена и настроена, то использовать рекомендации этого раздела нет необходимости. Раздел описывает установку клиентской части СУБД минимальной поддерживаемой версии в минимально необходимой для работы "Мельницы данных" конфигурации.

В настоящий момент поддерживаемые СУБД приведены в таблице:
СУБД Минимальная
требуемая версия 		Разработчик Сопровождение в России
Firebird
Open source
1.5.4.4910 http://www.firebirdsql.org
Страница загрузки 		http://www.ibase.ru
Oracle database
Коммерческое ПО
9.2.0.1 http://www.oracle.com
Страница загрузки 		http://www.oracle.com/global/ru/index.html

4.1.1. Конфигурирование сервера

Младшая тестированная на совместимость версия - 1.5.4.4910. Использование более младшей версии на сервере недопустимо. Шаги установки примерно следующие:

  1. Первая страница содержит логотип проекта Firebird
    Установка FireBird (первая страница)
  2. Вторая страница содержит лицензионное соглашение. Для продолжения установки необходимо установить кнопку "I accept the agreement".
    Установка FireBird (вторая страница)
  3. Третья страница содержит информацию, необходимую для установки.
    Установка FireBird (третья страница)
  4. Четвертая страница позволяет указать папку на диске, в которую будут установлены файлы Firebird.
    Установка FireBird (четвертая страница)
  5. На пятой странице определяется тип установки. Мы конфигурируем сервер БД, и, соответственно, выбираем из выпадающего списка пункт "Full installation of Server and development tools". Необходимо определиться с выбором между различными архитектурами сервера. Если вы затрудняетесь в выборе между вариантами архитектуры сервера, то помните, что для однопроцессорных систем предпочтительнее Super Server, для многопроцессорных используется только Classic Server. Подробности можно посмотреть на сайте сопровождающей компании или на сайте проекта. Особое внимание требуется обратить на работу сервера на процессоре в режиме HyperThreading.
    Установка серверной части FireBird - выбор типа установки
  6. На шестой странице предлагается выбрать имя папки меню "Пуск", в которой будут созданы полезные ярлыки. В нашем случае ярлыки будут созданы для файлов документации, бесполезной в конечном счете для конечного пользователя. Поэтому мы ставим флажок "Don't create any icons".
    Установка FireBird (шестая страница)
  7. На седьмой странице необходимо выбрать параметры установки. Настоятельно рекомендуется включить флажок "Use the Guardian to control the server" и запускать сервер в режиме службы, то есть выбрать кнопку "Run as a Service". Также настоятельно рекомендуется установить флажок "Start Firebird automatically everytime you boot up". Программное обеспечение "Мельница данных" использует в работе библиотеку gds32.dll , загружая ее из системного каталога Windows. Поэтому в целях обеспечения нормальной работы необходимо установить оба флажка - "Copy Firebird client library to <system> directory" и "Generate client library as GDS32.DLL for legacy app. support".
    Установка серверной части FireBird - параметры установки
  8. На восьмой странице необходимо подтвердить установку с выбранными параметрами.
    Установка серверной части FireBird - подтверждение установки
  9. После установки на девятой странице можно ознакомиться с информацией об установленной версии.
    Установка FireBird (девятая страница)
  10. Десятая страница информирует об успешном завершении установки и позволяет запустить сервер немедленно. Рекомендуется установить флажок "Start Firebird Service now".
    Установка серверной части FireBird - установка завершена

Убедиться в том, что сервер установлен и запущен, можно из окна служб (Start → Control Panel → Administrative Tools → Services):

Установленный FireBird в списке сервисов

Использование embedded-сервера вполне допустимо, с учетом ограничений, налагаемых разработчиком. Для использования embedded-сервера необходимо положить файлы (с полным путем) из архива embedded-сервера рядом с исполняемыми файлами нашей системы, и переименовать файл FBEMBED.DLL в GDS32.DLL , примерно следующим образом:

Использование FireBird Embedded

Для работы с embedded-сервером имя сервера в строке соединения указывать нельзя. Кроме того, необходимо соблюдать рекомендации и требования разработчиков сервера.

Младшая тестированная на совместимость версия - 9.2.0.1. Использование более младшей версии недопустимо.

Если вы устанавливаете Oracle не с компакт-дисков, то не пользуйтесь программой автозапуска, лежащей в корне первого установочного диска, а запустите setup.exe из каталога install\win32 на первом установочном диске.

Шаги установки примерно следующие:

  1. Первая страница содержит логотип Oracle и командные кнопки. Для продолжения установки нажмите кнопку "Next".
    Установка Oracle (первая страница)
  2. На второй странице необходимо определиться с путями установки и источника, а также с именем "дома". Настоятельно рекомендуется принять значения, предлагаемые по умолчанию.
    Установка Oracle (вторая страница)
  3. На третьей странице необходимо выбрать устанавливаемый продукт. Для сервера БД необходимо выбрать продукт "Oracle9i Database 9.2.0.1.0".
    Установка серверной части Oracle
  4. На четвертой странице необходимо выбрать тип установки. Для обеспечения требуемой функциональности выберите тип "Standard Edition".
    Установка серверной части Oracle - выбор типа установки
  5. На пятой странице необходимо выбрать параметры базы данных, создаваемой автоматически при установке сервера. Рекомендуется никакой базы данных при установке не создавать, для чего выбрать пункт "Software Only".
    Установка серверной части Oracle - отказ от автоматического создания БД
  6. На шестой странице необходимо выбрать порт TCP/IP, используемый Oracle Services for MTS. По умолчанию 2030.
    Установка серверной части Oracle - порт MTS
  7. На седьмой странице необходимо подтвердить правильность параметров установки.
    Установка серверной части Oracle - подтверждение установки
  8. После окончания процесса вы увидете сообщение об успешном завершении установки. Нажмите кнопку "Exit".
    Установка серверной части Oracle - завершено
  9. После завршения работы инсталлятора автоматически будет запущено приложение "Enterprise Manager Console". Если по каким-либо причинам этого не произошло, запустите это приложение самостоятельно через меню "Пуск". В окне "Add Databases To Tree" нажмите кнопку "Cancel".
    Установка серверной части Oracle - отказ от использования Enterprise Manager Console
  10. Из меню выберите пункт Tools → Service Management → Oracle Net Manager.
    Установка серверной части Oracle - вызов Oracle Net Manager
  11. В появивщемся окне приложения "Oracle Net Manager" раскройте узел дерева "Local", встаньте на узел дерева "Listener" и нажмите на кнопку с большим зеленым плюсом в панели инструменов (слева).
    Установка серверной части Oracle - Oracle Net Manager
  12. В появивщемся окне добавления Listener'a введите имя (по умолчанию - LISTENER). Настоятельно рекомендуется принять умолчание.
    Установка серверной части Oracle - создание Listener'a
  13. Нажмите на кнопку "Add Address" в нижней части окна.
    Установка серверной части Oracle - создание адреса Listener'a
  14. В появившемся окне отображена информация о том, каким образом клиенты будут осуществлять соединение с сервером БД. Настоятельно рекомендуется принять умолчания - протокол TCP/IP, порт 1521.
    Установка серверной части Oracle - адрес Listener'a создан
  15. Из меню выберите пункт File → Save Network Configuration
    Установка серверной части Oracle - сохранение конфигурации
  16. Служба Listener'a будет создана при первой попытке создать базу данных. Закройте приложения "Oracle Net Manager" и "Enterprise Manager Console".

4.1.2. Конфигурирование клиента

Младшая тестированная на совместимость версия - 1.5.4.4910. Использование более младшей версии на клиенте недопустимо. Шаги установки примерно следующие:

  1. Первая страница содержит логотип проекта Firebird
    Установка FireBird (первая страница)
  2. Вторая страница содержит лицензионное соглашение. Для продолжения установки необходимо установить кнопку "I accept the agreement".
    Установка FireBird (вторая страница)
  3. Третья страница содержит информацию, необходимую для установки.
    Установка FireBird (третья страница)
  4. Четвертая страница позволяет указать папку на диске, в которую будут установлены файлы Firebird.
    Установка FireBird (четвертая страница)
  5. На пятой странице определяется тип установки. Мы конфигурируем клиентскую часть, и, соответственно, выбираем из выпадающего списка пункт "Minimum client install - no server, no tools". Кнопки в списке устанавливаемых компонентов будут автоматически выставлены в правильное положение.
    Установка клиентской части FireBird - выбор типа установки
  6. На шестой странице предлагается выбрать имя папки меню "Пуск", в которой будут созданы полезные ярлыки. В нашем случае ярлыки будут созданы для файлов документации, бесполезной в конечном счете для конечного пользователя. Поэтому мы ставим флажок "Don't create any icons".
    Установка FireBird (шестая страница)
  7. На седьмой странице необходимо выбрать параметры установки. Программное обеспечение "Мельница данных" использует в работе библиотеку gds32.dll, загружая ее из системного каталога Windows. Поэтому в целях обеспечения нормальной работы необходимо установить оба флажка - "Copy Firebird client library to <system> directory" и "Generate client library as GDS32.DLL for legacy app. support".
    Установка клиентской части FireBird - параметры установки
  8. На восьмой странице необходимо подтвердить установку с выбранными параметрами.
    Установка клиентской части FireBird - подтверждение установки
  9. После установки на девятой странице можно ознакомиться с информацией об установленной версии.
    Установка FireBird (девятая страница)
  10. Десятая страница информирует об успешном завершении установки.
    Установка клиентской части FireBird - установка завершена

Младшая тестированная на совместимость версия - 9.2.0.1. Использование более младшей версии на клиенте недопустимо.

Если вы устанавливаете Oracle не с компакт-дисков, то не пользуйтесь программой автозапуска, лежащей в корне первого установочного диска, а запустите setup.exe из каталога install\win32 на первом установочном диске.

Шаги установки примерно следующие:

  1. Первая страница содержит логотип Oracle и командные кнопки. Для продолжения установки нажмите кнопку "Next".
    Установка Oracle (первая страница)
  2. На второй странице необходимо определиться с путями установки и источника, а также с именем "дома". Настоятельно рекомендуется принять значения, предлагаемые по умолчанию.
    Установка Oracle (вторая страница)
  3. На третьей странице необходимо выбрать устанавливаемый продукт. Для рабочей станции необходимо установить продукт "Oracle9i Client 9.2.0.1.0".
    Установка клиентской части Oracle
  4. На четвертой странице необходимо выбрать тип установки. Для обеспечения требуемой функциональности выберите тип "Runtime".
    Установка клиентской части Oracle - выбор типа установки
  5. На пятой странице необходимо подтвердить правильность параметров установки.
    Установка клиентской части Oracle - подтверждение установки
  6. В процессе установки инсталлятор потребует настроить параметры соединения с сервером БД. Для этого запустится отдельный мастер "Oracle Net Configuration Assistant", и процесс установки будет приостановлен на время работы этого мастера.
    Если этого по каким-либо причинам не произошло, то после завершнения установки необходимо запустить это приложение из меню "Пуск" и выполнить описанные в этом и следующих шагах действия.
    На этой (первой) странице мастера необходимо отказаться от использования службы каталогов, выбрав кнопку "No, I will create net service names myself...".
    Установка клиентской части Oracle - конфигурирование подключения к БД - не использовать directory service.
  7. На второй странице мастера необходимо выбрать версию базы данных. Базы данных версии Oracle8 в любом случае не поддерживаются "Мельницей данных", поэтому выберите кнопку "Oracle8i or later database or service".
    Установка клиентской части Oracle - конфигурирование подключения к БД - версия БД
  8. На третьей странице мастера необходимо ввести имя сервиса, идентифицирующего базу данных на сервере (в данном случае - "RTT"). Это имя устанавливается при создании базы данных.
    Установка клиентской части Oracle - конфигурирование подключения к БД - имя сервиса
  9. На четвертой странице мастера выберите из списка доступных для соединения с БД протоколов протокол "TCP".
    Установка клиентской части Oracle - конфигурирование подключения к БД - протокол
  10. На пятой странице мастера введите адрес сервера, на котором установлена БД. Можно вводить как символьное имя сервера, так и IP-адрес. На этой же странице выберите порт TCP/IP, по которому будет производиться соединение с сервером. Порт по умолчанию - 1521.
    Установка клиентской части Oracle - конфигурирование подключения к БД - сервер и порт
  11. На шестой странице мастер предлагает протестировать заданные на предыдущих шагах параметры. Выберите кнопку "Yes, perform a test".
    Установка клиентской части Oracle - конфигурирование подключения к БД - тестирование соединения
  12. Если введенные на предыдущих страницах параметры соединения с БД были заданы корректно, то мастер сообщит об этом:
    Установка клиентской части Oracle - конфигурирование подключения к БД - успешное соединение
  13. На восьмой странице введите имя псевдонима подключения, который будет использоваться в дальнейшем для установки соединения с БД приложениями "Мальницы данных". Во избежание путаницы настоятельно рекомендуется именовать псевдоним так же, как и службу на сервере (в данном случае - RTT). сообщит об этом:
    Установка клиентской части Oracle - конфигурирование подключения к БД - псевдоним соедиения
  14. На девятой странице мастера у вас есть возможность выбрать, настроить еще одно подключение или завершить работу с мастером. После завршения установки вы всегда сможете вернуться к процедуре создания псевдонима подключений, вызвав из меню "Пуск" приложение "Oracle Net Configuration Assistant".
    Установка клиентской части Oracle - конфигурирование подключения к БД - отказ от создания следующего соединения
  15. На десятой странице мастер сообщает об успешном создании псевдонима соединения с БД.
    Установка клиентской части Oracle - конфигурирование подключения к БД - завершено конфигурирование соединения
  16. На десятой странице мастер сообщает об успешном завершении своей работы.
    Установка клиентской части Oracle - конфигурирование подключения к БД - завершено
  17. После завршения работы мастера "Oracle Net Configuration Assistant" вы увидете сообщение об успешном завершении работы инсталлятора. Нажмите кнопку "Exit".
    Установка клиентской части Oracle - завершено

4.2. Установка программного обеспечения платформы "Мельница данных"

Для установки ПП "Мельница данных" необходимо запустить файл setup.exe, расположенный на поставляемом компакт диске. После запуска программы установки необходимо следовать указаниям мастера установки.

Шаг 1: Выбор языка

Установка Мельницы Выбор языка

Шаг 2: Информация о версии устанавливаемого ПП

Установка Мельницы. Версия ПП

Шаг3: Выбор каталога установки файлов ПП

Установка Мельницы. Папка установки.

Шаг 4: Выбор файла лицензии

Установка Мельницы. Выбор лицензии.

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

Шаг 5: Выбор компонентов для установки

Установка Мельницы. Выбор компонентов.

На данном шаге вам необходимо выбрать набор компонентов для установки на локальный компьютер. В зависимости от специфики использования рабочего места, на которое устанавливается ПО, необходимо выбрать тип установки. Предлагаемые типы установок:

  • Рабочее место пользователя
  • Рабочее место администратора
  • Рабочее место разработчика
  • Только построитель запросов
  • По выбору

Для каждого из типов установки по умолчанию устанавливается свой набор компонентов. Вы можете дополнительно отметить тот или иной необходимый вам компонент для установки. Для выбора будут отображены только те компоненты, которые влачены в указанном вами лицензионном файле.

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

  1. Обозреватель данных
  2. Построитель запросов
  3. Утилита обслуживания баз данных
  4. Утилита слияния баз данных
  5. Инструменты разработчика / Инструмент поставки решений
  6. Отладочный монитор
  7. Документация

Для некоторых из вышеперечисленных компонентов также можно выбрать состав устанавливаемого компонента. Описание назначений поставляемых компонент описано в разделе "Поставляемые компоненты ПП" настоящей документации.

После указания всех параметров мастер установки скопирует файлы на локальный компьютер и создаст в меню программ папку с ярлыками к установленным компонентам:

Установка Мельницы. Ярлыки после установки.

4.2.1. Поставляемые компоненты ПП "Мельница данных"
Обозреватель данных | Обозреватель данных (DataBrowser) - Основное приложение позволяющее просматривать и модифицировать данные. Приложение используется для разработки прикладных решений. Позволяет описывать объекты БД, их свойства, методы, пользовательские формы и отчеты. Это же приложение используется для работы с разработанными прикладными решения пользователями на локальных рабочих местах.
Утилита обслуживания БД | Утилита обслуживания базы данных (DBSetupShell) - Приложение, позволяющее создавать и обслуживать выбранную базу данных любой из поддерживаемых СУБД. Также при помощи данной утилиты можно создавать и удалять пользователей БД, создавать и восстанавливать резервные копии БД, импортировать и экспортировать данные из/в БД, а также выполнять процедуры по контролю целостности БД.
Построитель запросов | Построитель запросов (QueryBuilder) - Приложение, позволяющее визуальными средствами создавать интерактивные запросы на основе данных хранящихся в используемой БД. Созданные запросы сохраняются в стандартный формате SQL и полностью удовлетворяют архитектуре клиент-сервер. Сохраненные в виде файла запросы могут быть открыты пользователем по необходимости. Полученная таким образом информация будет актуальна в любой момент времени. Также существует возможность создания статистического отчета на основе Excel шаблона.
Отладочный монитор | Отладочный монитор (DebugView) - Средство позволяющее отслеживать все запросы к БД генерируемые "клиентской частью" прикладного решения, а также результат их исполнения сервером СУБД. Используется для отладки в процессе разработки прикладного решения.
Утилита слияния баз данных | Утилита слияния баз данных (Merger) - Данная утилита позволяет сравнивать данные и метаданные 2х различных БД. При помощи данного приложения можно с легкостью перенести, например данные из резервной копии в рабочую БД в случае не преднамеренного удаления большого числа объектов, тем самым избежать необходимости восстановления резервной копии недельной давности. Также используется для обновления версии ПП.
Редактор файлов документации | Редактор файлов документации (HelpEditor) - Незаменимое средство создания электронной справки и файлов документации в стандартном формате chm.

4.3. Создание и начальная инициализация базы данных

Для создания БД необходимо вопрользоваться утилитой обслуживания базы данных, поставляемой в комплекте ПП. После запуска одноименного приложения откроется окно панели управления утилиты:

После запуска одноименного приложения откроется окно панели управления утилиты:

Создание БД. Утилита обслуживания БД.

Для доступа к задачам необходимо заполнить параметры работы с базой данных:

  1. Источник данных : Необходимо указать используемую СУБД.
  2. База данных : Необходимо указать наименование создаваемого файла БД и его месторасположение. (Пример: c:\databases\base.fdb)
  3. Пользователь : Указать имя пользователя (Администратора) для используемой СУБД. Для Interbase/FireBird - SYSDBA, для Oracle - SYS.
  4. Пароль : Указать пароль пользователя (Администратора) для используемой СУБД. Для Interbase/FireBird - masterkey, для Oracle - SYS.

После заполнения полей параметров можно приступать к созданию БД. Для создания новой базы данных необходимо воспользоваться задачей "Создать новую БД". После нажатия кнопки "Выполнить" будут выполнены команды отображенные в окне "Командная строка".

Днные команды можно выполнить самостоятельно из командной строки операционой системы или из любого другого приложения. Также создать пустую БД можно средствами входящими в комплекты поставок соответствуеющих СУБД.
Создание БД. Вывод консольного приложения.

В окне "Вывод консольного приложения" будет отображен результат выполнения команд по созданию БД. В случае успешного выполнения всех необходимых команд, БД будет создана по указанному в параметрах месторасположению.

После создания пустой БД необходимо наполнить ее системными объектами (метаданными) для последующей работы с ПП "Мельница данных". Для этого необходимо выполнить задачу "Синхронизировать базу данных". После нажатия кнопки "Выполнить" будет автоматически запущен отладочный монитор отображающий процесс наполнения БД необходимыми метаданными. Данный процесс может занять от одной до нескольких минут в зависимости от используемой СУБД и производительности сервера. (Обычно около минуты) По окончании процесса в окне "Вывод консольного приложения" будет отображен результат выполнения инициализации базы данных.

Инициализация БД. Вывод консольного приложения.

Все действия по созданию и инициализации БД выполнены. БД готова к эксплуатации.

4.4. Управление доступом пользователей

После того, как база данных создана и инициализирована метаданными платформы, доступ к системе будет иметь один пользователь - администратор созданной БД. Добавление других пользователей, ролей пользователей и включение пользователей в роли выполняется в представлениях Пользователи и Роли в Системной форме. После начальной инициализации БД на вкладке Пользователи можно увидеть одного пользователя с именем, соответствующим логину администратора БД (Например, для FireBird пользователь SYSDBA), на вкладке Роли можно увидеть одну роль с наименованием Администраторы. На подчиненных вкладках этих представлений можно увидеть, что пользователь - администратор включен в роль Администраторы.

Профиль пользователя формируется путем определения для него:

  1. Перечня доступных форм
  2. Перечня доступных визуальных групп
  3. Перечня групп запретов

Формирование профиля происходит одинаково как для роли, так и для отдельного пользователя. Однако рекомендуется формировать профили для ролей, а не для отдельных пользователей. В этом случае при подключении к системе новых пользователей, изменении параметров доступа для существующего пользователя достаточно будет включить пользователя в одну из ролей, или исключить его из роли. Роли рекомендуется формировать содержательным образом на основе распределения обязанностей реальных пользователей, работающих с прикладным решением.

4.4.1. Создание пользователей

Создание пользователя системы включает в себя два этапа:

  1. Создание пользователя БД средствами используемой СУБД. Для этого наряду с возможностями каждой из СУБД Утилитой обслуживания БД предлагается действие Создать пользователя. Предлагаемые Утилитой по умолчанию пути к БД и параметры доступа требуют уточнения в зависимости от условий функционирования реальной БД. Задавать права доступа пользователя к объектам БД на данном этапе не надо.
  2. В Системной форме на вкладке Пользователи создать нового пользователя при помощи соответствующего действия контекстного меню.
    В поле Имя нужно вветси строку, строго соответствующую логину пользователя БД в вернем регистре.
    Особых требований к полю Наименование не предъявляется. Однако рекомендуется вводить в это поле фамилию и имя реального пользователя системы, например, Смирнов Иван Николаевич, что позволить в последующем получать информативные данных об активности пользователей системы.

4.4.2. Создание ролей

Создание ролей производится на вкладке Роли Системной формы при помощи действия Создать, вызываемого из контекстного меню. Имя и наименование роли могут быть любыми строками. Однако именовать роли по названиям соответствющих функциональных участков системы, например,

  • Начальник отдела кадров
  • Инспектора по работе с личными данными персонала
  • Инспектора по социальным вопросам
В случаях, когда реальные пользователи совмещают несколько ролей, роли лучше формировать отдельно, после чего одного пользователя можно влючить одновременно в несколько ролей.

4.4.3. Включение пользователей в роли

В роль могут включаться как пользователи, так и другие роли. Для добавления в роль нового члена роли нужно выбрать роль на вкладке Роли, отрыть подчиненную вкладку Члены роли и вызвать на ней действие Создать. Поля формы параметров заполняются следующим образом:

  • Пользователь - в этом поле необходимо выбрать либо одного из пользователей, либо одну из ролей. В зависимости от того, выбран ли пользователь или роль, будет меняться доступность следующих ниже полей.
  • Основная роль - в этом поле можно установить значение Да или Нет. Если пользователь включен в нескольно ролей, то среди них можно выделить одну основную. Разработчик прикладного решения на платформе сможет использовать это значение для управления доступом к объектам системы. Поле доступно для выбора значения только в том случае, если в поле Пользователь выбран именно пользователь, а не роль.
  • Добавить связанные роли - в этом поле можно установить значение Да или Нет. Поле доступно для выбора значения только в том случае, если в поле Пользователь выбрана роль. При установке значения Да в роль будут включены также все роли, входящие в выбранную. при установке значения Нет будет включена только одна роль без подчиненных ролей.

После включения пользователя в роль он получает права доступа ко всем визуальным группам и формам, а также к группам запретов, заданным для роли.

4.4.4. Формирование перечня доступных визуальных групп

Визуальные группы создаются разработчиком прикладного решения. Работа с визуальными группами ведется в Системной форме на вкладке Визуальные группы. Каждая визуальная группа содержит набор форм и также может быть снабжена иконкой. Визуальные группы отображаются на Консоли управления, которая показывается при запуске системы.

Для каждой роли (или для отдельного пользователя) формируется перечень визуальных групп, которые будут ему доступны на Консоли управления. Если визуальных групп в прикладном решение не создано, или если пользователю не доступно ни одной визуальной группы, консоль управления не будет отображена. В этом случае при открытии системы пользователь увидит первую из доступных ему форм, которая открывается автоматически.

Для добавления новой визуальной группы, доступной роли или пользователю, необходимо выбрать роль или пользователя на соответствующей вкладке (Роли или Пользователи), отрыть подчиненное представление Доступные визуальные группы и выполнить в нем действие Создать. В форме параметров нужно выбрать одну из существующих визуальных групп. Если необходимо дать доступ к нескольким визуальным группам, действие создания нужно повторить.

Если пользователь включен в несколько ролей, то достаточно наличия доступа к визуальной группе в одной из этих ролей.

4.4.5. Формирование перечня доступных форм

Формы создаются разработчиком прикладного решения. Работа с визуальными группами ведется в Системной форме на вкладке Формы. Каждая форма представляет собой набор представлений, связанных друг с другом определенным образом. Иконки всех форм, доступных пользователю, отображаются на Панели инструментов в верхней части экрана. Нажимая на одну из иконок форм, пользователь может переключаться между ними. Если форма входит в одну из доступных пользователю визуальных групп, она отобразится на консоли управления. В этом случае переключаться между формами пользователь сможет как на Панели инструментов, так и на Консоли управления.

Для каждой роли (или для отдельного пользователя) формируется перечень форм, которые будут ему доступны на Консоли управления. При открытии системы пользователь видит первую из доступных ему форм, открываемую автоматически.

Для добавления новой формы, доступной роли или пользователю, необходимо выбрать роль или пользователя на соответствующей вкладке (Роли или Пользователи), отрыть подчиненное представление Доступные формы и выполнить в нем действие Создать. В форме параметров нужно выбрать одну из существующих форм. Если необходимо дать доступ к нескольким формам, действие создания нужно повторить.

Если пользователь включен в несколько ролей, то достаточно наличия доступа к форме в одной из этих ролей.

4.4.6. Формирование перечня групп запретов

Группы запретов могут формироваться как разработчиком прикладного решения, так и администратором системы. Работа с группами запретов ведется на соответствующей вкладке Системной формы. В каждую группу запретов включаются запреты трех видов:

  • Запрет на класс
  • Запрет на свойство
  • Запрет на подпрограмму

Запреты на класс и свойство могут даваться как только на запись, так и на чтение и запись объектов. Наличие запретов для определенной роли или пользователя приводит к тому, что пользователь не видит или не имеет прав на модификацю объетов определенных классов или отдельных их свойств. Запреты на подпрограммы выражаются в том, что для пользователя не отображаются действия, вызывающие ряд подпрограмм.

5. Руководство разработчика на платформе

5.1. Решения, предлагаемые технологией "Мельница данных"

Технология "Мельница данных" предлагает решения традиционных проблем разработки и сопровождения учетных систем за счет следующих инноваций:

  1. Объектная модель хранится в системе по тем же принципам, что и модель бизнес-данных, т.е. объекты классов, описывающих метаданные системы (классы, поля, методы, свойства, пользовательские формы) хранятся в базе данных и отображаются при помощи стандартного пользовательского интерфейса. Моделирование системного слоя метаданных системы произведено разработчиками платформы. Модель системного слоя документирована и доступна для просмотра и использования разработчикам прикладных систем.
  2. Разработка прикладных учетных систем ведется в той же среде, что и работа конечных пользователей. Текущая модель прикладной системы доступна для просмотра и использования всеми разработчиками.
  3. На основе заложенной объектной модели прикладной системы автоматически генерируется SQL-код (как DML, так и DDL составляющие), что полностью освобождает разработчика прикладной системы от SQL-программирования.
  4. Пользовательские интерфейсы (формы, представления) также описываются при помощи объектной модели и хранятся в базе данных. Это позволяет автоматически генерировать формы просмотра данных и формы задания параметров методов, что освобождает разработчика прикладной системы от написания кода клиентского приложения. Для тонкого управления поведением форм задания параметров может использоваться язык VB-script.
  5. При внесении изменений в объектную модель:
    • новое состояние модели отображается в пользовательском интерфейсе в доступной для всех разработчиков форме;
    • текущая объектная модель в виде диаграммы классов может быть выгружена в HTML-отчет, что является базовой возможностью платформы;
    • внесение изменений в структуру базы данных и пользовательские интерфейсы производится автоматически средствами платформы.

Основными элементами стандартизованного пользовательского интерфейса являются развитые элементы управления, работающие с данными:

  • Таблицы данных - отображают списки объектов в табличной форме, удобной для восприятия пользователя. Таблицы данных позволяют производить сортировку, группировку объектов, фильтрацию данных по ряду условий, подведение агрегатов (количества объектов, наибольшего, наименьшего значения, суммы, среднего и т.д.), отображение и скрытие групп, подведение итогов по группе. Таблицы данных имеют функционал, позволяющий отображать иерархические структуры, а также производить произвольный отбор отображаемых объектов пользователем. Используемые таблицы данных позволяют работать с большими объемами данных без потери производительности.
  • Инспектор объектов - отображает все свойства выбранных (одного или нескольких) объектов в двух колонках: имя свойства - значение свойства. Инспектор объектов позволяет просматривать все свойства объектов, а также изменять значения свойств как одного объекта, так и для всех выделенных объектов одним действием.
  • Форма задания параметров - отображается при вызове пользователем одного из методов. На форме расположены элементы управления Поле ввода, соответствующие описанным для метода параметрам. Внешний вид и поведение элементов управления зависят от типа описанных параметров. Поведением элементов управления на форме можно управлять при помощи скрипта формы, разрабатываемого на языке VB-script.
  • Поле ввода - используется для задания значений свойств и параметров как в Таблице данных, так и в Инспекторе объектов и на формах задания параметров. Имеет функционал, позволяющий редактировать значения различных типов. Использование стандартизованного пользовательского интерфейса позволяет снизить издержки как на его сопровождение, так и на обучение пользователей работе на новых участках.

Реализованы развитые возможности интеграции с третьесторонними системами. Они обеспечиваются следующими механизмами:

  1. Возможность переноса в Microsoft Excel любого видимого представления "as-is" с сохранением всех группировок, сортировок, агрегатов и т. п.
  2. Возможность вывода отчетов в виде документов Microsoft Office с передачей в среду функционирования Office соединения с БД, что позволяет строить отчеты любой степени сложности.
  3. Возможность использования в системе любого внешнего Ole-объекта как метода любого класса без ограничений.
  4. Возможность использования скриптлетов (фрагментов кода на скриптовом языке VBScript и/или JScript) как методов системы, фактически - возможность реализации на этих языках сколь угодно сложного поведения.
  5. Возможность формирования отчетов непосредственно в виде html-документов для последующей публикации их в сети Internet.

5.2. Системный слой объектной модели "Мельница данных"

Технология разработки и сопровождения учетных систем "Мельница данных" требует для своего функционирования объектную модель бизнес-сущностей. Технология диктует ряд дополнительных требований к объектной модели.

  1. Все классы наследуются от единого корня, класса TObject. Класс TObject вводит ряд элементов состояния, поведения и представления, которые наследуются всеми учитываемыми объектами в обязательном порядке.
  2. Множественное наследование не поддерживается (т.е. у каждого класса может быть один и только один родитель).
  3. Множественная инкапсуляция не поддерживается (т.е. у каждого объекта может быть один либо ни одного инкапсулирующего объекта).
  4. Простые типы данных вводятся посредством доменов. Домены определяют обязательность своих значений, а также другие характеристики, зависящие от класса домена. Домены бывают:
    • строковые (определяют максимальную длину строки);
    • целочисленные (определяют максимальное и минимальное значение целого числа);
    • вещественные (определяют максимальное и минимальное значение числа, количество значащих цифр);
    • логические;
    • значения типа "дата";
    • значения типа "время";
    • значения типа "дата со временем";
    • перечисления (определяют список возможных значений);
    • ссылка (определяют класс-приемник ссылки);
    • большие двоичные объекты (текст, изображение, файл, и т.д.).

5.3. Наследование и переопределение членов класса и параметров подпрограмм

Все члены родительского класса наследуются дочерним классом следующим образом:

Поля

Все поля родительского класса доступны в дочернем классе. При создании в дочернем классе поля с тем же именем, что и в родительском классе, класс-наследник теряет возможность напрямую манипулировать полем родительского класса и получает поле с тем же именем. Можно сказать, что новое поле "закрывает" старое, но не "замещает" его.

Методы

Все методы родительского класса наследуются дочерним классом. При создании в дочернем классе метода с тем же именем, что и в родительском классе, метод переопределяется, т.е. вместо старого метода будет существовать новый. Единственный способом обратиться к старому (унаследованному) методу является использование в теле метода оператора унаследованного вызова inherited (см. раздел 5.3.14.). Переопределенный метод имеет все параметры родительского метода и может расширять список параметров, а также переопределять унаследованные параметры (создавая параметры с тем же именем и изменяя любой другой атрибут параметра по своему усмотрению). Скрипты форм задания параметров не наследуются и должны быть полностью заданы в переопределенном методе. Изображения-иконки методов наследуются и могут не переопределяться явно.

Свойства

Все свойства родительского класса доступны в дочернем классе. При создании в дочернем классе свойства с тем же именем, что и в родительском классе, класс-наследник теряет возможность напрямую манипулировать свойством родительского класса и получает свойство с тем же именем. Можно сказать, что новое свойство "закрывает" старое, но не "замещает" его. На практике часто бывает необходимо в унаследованном методе (особенно в конструкторе) скрыть часть параметров от пользователя, либо сузить область выбора значений для каких либо параметров. В этом случае необходимо переопределить параметры в унаследованном методе с новыми значениями свойства Scope ("Область видимости") или Domain ("Домен"). Это нормальная рекомендуемая практика. Необходимо понимать, что скрыв с формы элемент управления, соответствующий параметру, значение которого обязательно, необходимо предусмотреть, чтобы этот параметр получил значение до вызова унаследованного метода, либо из скрипта формы задания параметров, либо в теле самого метода.

В конструкторе класса, унаследованного от класса TObject, переопределен параметр Name, таким образом, что в свойстве "Область видимости" установлено значение "Не видимо пользователям". При этом тело метода конструктора должно выглядеть следующим образом:
begin
  Name := UniqueValue;                    (1)
  inherited;                         (2)
  // инициализация собственных полей
end;
Параметр конструктора Description, унаследованный от конструктора класса TObject останется видимым и его значение будет в обязательном порядке установлено пользователем при помощи формы задания параметров. Значения параметров Parent и Master будут определены из контекста вызова или запрошены у пользователя. Параметр Name не будет отображен на форме задания параметров и в начале выполнения тела метода его значение будет пустым (nil). В связи с этим в строке (1) тела метода производится установка значения параметра Name при помощи функции UniqueValue. Если этого не сделать, то вызов унаследованного метода при помощи оператора inherited вернет ошибку, связанную с тем, что параметр Name имеет недопустимое значение.

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.

Все размеры графических объектов, размеры страниц, шрифтов и т.п. по умолчанию заданы в миллиметрах.
Для удобства построения шаблона PDF-документа создана функция DrawGrid. При ее включении при отладке при создании шаблона будет отображена визуальная сетка с шагом 5 миллиметров.

5.7.6.1.2. Методы

5.7.6.1.2.1. Свойства документа

Для создания и описания свойств PDF-документа в библиотеке PDFCreator.dll используется класс IPDFDocument, обладающий следующими свойствами:

  • Title (WideString) - заголовок документа. По умолчанию - пустая строка.
    Title = "DOC1"
  • CanEmbedFonts (WordBool) - Признак возможности построения PDF- документа со встроенными шрифтами (Embedded Fonts). В случае включения признака, все объявленные в скрипте шрифты будут включены в сборку документа и будут передаваться целиком вместе с документом. По умолчанию - False.
    CanEmbedFonts = True

CanEmbedFonts = False
  • CanCompress (WordBool) - признак сжатия документа при создании по собственным алгоритмам. По умолчанию - True.
    CanCompress = False

CanCompress = True
  • Author (WideString) - автор документа. По умолчанию - текущий пользователь ОС.
  • Subject (WideString) - описание документа. По умолчанию - пустая строка.
  • Keywords (WideString) - ключевые слова для поиска по документу. По умолчанию - пустая строка.
  • Creator (WideString) - приложение-родитель документа. Указывается в том случае, если документ был сконвертирован из другого формата.
  • PageCount (Integer) - свойство, содержащее общее количество страниц в документе.
  • Pages[Index: Integer]: IPDFPage - свойство документа, предназначенное для перебора страниц документа для совершения над ними однотипных действий.

    Пример использования:

    for I = 0 to PageCount - 1
  Pages(I).rectangle 10,10,10,10, false
next
Save "c:\pdf.pdf"

    Результат: На всех страницах документа будут нарисованы квадраты 10х10 мм.
  • procedure Save(Target: OleVariant) - процедура для сохранения документа PDF на жесткий диск сразу после создания.
    Save "c:\pdf.pdf"
    - сохранит документ в файл c:\pdf.pdf

5.7.6.1.2.2. Свойства страницы

Для создания страницы используется функция

function CreatePage(Parent: OleVariant): IPDFPage;

Параметр Parent указывает страницу-родителя для данной страницы. Если страницы- родителя быть не должно - формат вызова функции примет вид:

set page = CreatePage(Null)

Параметры страницы:

  • Title - заголовок страницы.
    page.Title = "Page name"
  • Width - ширина страницы, миллиметры
    page.Width = 80
  • Height - высота страницы, миллиметры
    page.Height = 80
  • DrawGrid - процедура, выводящая на страницу сетку с шагом 5 миллиметров для удобства отладки вида документа.
  • Perform - процедура, позволяющая выполнить дополнительные команды PostScript на странице.
    page.perform "1 0.7 0 0 k"
    page.perform "0 0 m"

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).

Цвет | R | G | B |
Белый | 255 | 255 | 255 | +++
Черный | 0 | 0 | 0 | +++
Серый | 190 | 190 | 190 | +++
Синий | 0 | 0 | 255 | +++
Красный | 255 | 0 | 0 | +++
Зеленый | 0 | 255 | 0 | +++

Если предварительно цвет не был объявлен, используется цвет по умолчанию - черный (0,0,0)

5.7.6.1.2.3. Графика

5.7.6.1.2.3.1. Линии

Для отрисовки линий используется процедура

procedure Line(X1: Double; Y1: Double; X2: Double; Y2: Double);
Здесь:

  • X1 - координата начала линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y1 - координата начала линии по вертикали в миллиметрах от верхнего левого угла листа.
  • X2 - координата конца линии по горизонтали в миллиметрах от верхнего левого угла листа.
  • Y2 - координата Конца линии по вертикали в миллиметрах от верхнего левого угла листа.

Для задания толщины линии используется свойство

property LineWidth: Double
Значение толщины задается в миллиметрах. Значение по умолчанию - минимально возможная единица рисования для устройства. Так для монитора - 1 pixel, для принтера - 1 dot (точка)

Для задания стиля отрисовки начала/окончания линии используется свойство property LineCap: TPDFLineCap
Возможные стили:
Значение свойства: | Отображение: | Описание:
0 | Линия 0 | Прямой срез точно по точкам начала и окончания линии (по умолчанию)
1 | Линия 1 | С закруглением
2 | Линия 2 | Прямой срез с продолжением линии на половину толщины линии

Объявление цвета линии.

Две линии разной толщины, с разными окончаниями и цветами:
set page = CreatePage(Null)

page.DrawGrid

page.LineCap = 1

page.LineWidth = 2

page.Line 10, 10, 30, 30

page.LineWidth = 4

page.SetColor 255, 0, 0

page.LineCap = 2

page.Line 10, 30, 30, 10."I

Результат:
2 линии

При необходимости соединения линий под углом в определенной точке можно задать тип соединения. Для объявления типа соединения используется свойство property LineJoin: TPDFLineJoin;
Типы соединения двух линий:
Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пунктир

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

Процедура procedure SetDash(DashArray: OleVariant; Phase: Integer); Здесь DashArray - массив значений в миллиметрах, указывающий последовательность чередования штрихов и пропусков на линии, Phase - смещение в миллиметрах по линии.

Пример 1. Штрих 10 мм, Промежуток 5 мм, Смещения нет
Пример 2. Штрих 10 мм, Промежуток 5 мм, Смещение 5 мм
Пример 3. Различные значения штрихов и промежутков, Смещения нет
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.SetDash Array(10, 5), 0

page.Line 10, 10, 100, 10

page.SetDash Array(10, 5), 5

page.Line 10, 20, 100, 20

page.SetDash Array(10, 5, 3, 2, 12, 20), 0

page.Line 10, 30, 100, 30

Результат:
Пунктир 1

Ломанная линия - здесь непрерывная линия, состоящая из нескольких прямых. Для отображения ломанной используется процедура procedure Poly(Points: OleVariant; Fill: WordBool), где Points - массив координат точек соединяемых прямыми, а Fill - признак заливки полученной замкнутой фигуры (если замкнута).

Пример Звезда без заливки
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), false

Результат:
Звезда
Пример Звезда с заливкой
set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 3

page.Poly  Array(10, 45, 100, 45, 27, 103, 55, 10, 82, 103, 10, 45), true

Результат:
Звезда заливка

5.7.6.1.2.3.2. Прямоугольник

Rectangle (Прямоугольник) - для создания используется процедура:

procedure Rectangle(X1: Double; Y1: Double; Width: Double; Height: Double; Fill: WordBool);
Здесь:

  • X1 - координата верхнего левого угла прямоугольника по горизонтали в миллиметрах от верхнего левого угла листа шаблона.
  • Y1 - координата верхнего левого угла прямоугольника по вертикали в миллиметрах от верхнего левого угла листа шаблона.
  • Width - ширина прямоугольника с миллиметрах.
  • Height - высота прямоугольника с миллиметрах.
  • Fill - признак заливки прямоугольника (True/False). Если значение True то заливка производится объявленным заранее цветом (см. Объявление цвета). Если False - заливка не производится. Прямоугольник отрисовывается линиями с предварительно заданной толщиной. См. Линии
Пример 1. Создание красного прямоугольника:
set page = CreatePage(Null)

page.SetColor 255, 0, 0

page.Rectangle 10, 15, 40, 20, True

page.DrawGrid
Результат:
Прямоугольник
Пример 2. Пустой прямоугольник без задания цвета:
set page = CreatePage(Null)

page.DrawGrid

page.Rectangle 12, 17, 42, 25, false

page.DrawGrid

Результат:
Прямоугольник false

Также существует возможность изменения стиля отображения углов прямоугольника. Для этого нужно использовать свойство property LineJoin: TPDFLineJoin;

Значение свойства | Отображение | Описание
0 | 2 линии 0 | С острым углом
1 | 2 линии 1 | С закруглением
2 | 2 линии 2 | С обрезанным углом

Пример построения прямоугольников с различными типами соединения сторон:

set page = CreatePage(Null)

page.DrawGrid

page.LineWidth = 4

page.LineJoin = 0

page.Rectangle 10, 10, 20, 10, false

page.LineJoin = 1

page.Rectangle 40, 10, 20, 10, false

page.LineJoin = 2

page.Rectangle 70, 10, 20, 10, false

Результат:
3 прямоугольника

5.7.6.1.2.3.3. Вставка готовых изображений

Для вставки на создаваемую страницу готового изображения используется процедура procedure Image(const FileName: WideString; X: Double; Y: Double; Width: Double; Height: Double)

Параметры:

  • const FileName - имя файла изображения и путь к нему на жестком диске. Задается в кавычках.
  • X - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по горизонтали в миллиметрах
  • Y - координата левой верхней точки изображения по отношению к верхнему левому углу страницы по вертикали в миллиметрах
  • Width - ширина изображения в миллиметрах
  • Height - высота изображения в миллиметрах.
set page = CreatePage(Null)
page.drawgrid
page.Image "c:\mill.bmp", 10,10, 30, 30

Результат:
Картинка

Вне зависимости от размера исходного изображения, при вставке изображения на создаваемую страницу оно будет растянуто по размерам, прописанным в процедуре.

5.7.6.1.2.3.4. Векторная графика

Язык PostScript, с помощью которого создаются векторные изображения для PDF-документа, поддерживает создание типичных примитивных объектов, таких как:

  • Прямые и ломанные линии
  • Многоугольники
  • Окружности и эллипсы
  • Кривые Безье
  • Текст

При создании векторного изображения на странице PDF-документа в приложениях Платформы, команды построения примитивных объектов PostScript передаются на исполнение при помощи процедуры Perform. Подробнее об операторах и командах PostScript для создания PDF-документов можно узнать на сайте Adobe

5.7.6.1.2.4. Шрифты

Шрифты, которые должны использоваться в создаваемом документе, должны быть предварительно объявлены. Для объявления используемых шрифтов используется функция
function CreateFont(const FontName: WideString; Size: Double; Bold: WordBool; Italic: WordBool): IPDFFont; где:

  • const FontName - имя шрифта, аналогичное имени объявляемого шрифта в операционной системе. В Функции объявляется в кавычках.
  • Size - размер шрифта в пунктах
  • Bold - признак начертания шрифта "жирный". Значения - True или False
  • Italic - признак начертания шрифта "курсив". Значения - True или False
Примеры объявления шрифтов:
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)

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

  • procedure WriteLine(const LineText: WideString; X: Double; Y: Double);
    - используется для вывода текстовой строки
  • function WriteText(const AText: WideString; X: Double; Y: Double; Width: Double; Alignment: TPDFTextAlignment): Double;
    - используется для вывода текстового блока.

Параметры для procedure WriteLine :

  • const LineText - текстовая строка для вывода. Прописывается в кавычках. Будет выведена на страницу одной строкой.
  • X - координата верхней левой точки текстовой строки по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстовой строки по вертикали в миллиметрах.
Примеры вывода текстов на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Times New Roman", 16, False, True)
set dataFont = page.createFont("Tahoma", 18, True, False)
Font.WriteLine "Фамилия", 5, 2
Font.WriteLine "Имя", 5, 10
Font.WriteLine "Отчество", 5, 18
labelFont.WriteLine "Дата рождения", 5, 26
dataFont.WriteLine "Национальность", 5, 34

Результат:
Разные шрифты

Параметры для function WriteText :

  • const AText - текст для вывода на страницу. Прописывается в кавычках. Будет выведена на страницу в виде текстового блока.
  • X - координата верхней левой точки текстового блока по горизонтали в миллиметрах.
  • Y - координата верхней левой точки текстового блока по вертикали в миллиметрах.
  • Width - ширина текстового блока в миллиметрах
  • Alignment - тип выравнивания текста в текстовом блоке.
    Значение параметра | Тип выравнивания
    0 | По левому краю
    1 | По правому краю
    2 | По центру
    3 | Выравнивание по ширине
Примеры вывода текстовых блоков на страницу:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Times New Roman", 12, False, True)
set dataFont = page.createFont("Tahoma", 11, True, False)
Q = font.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 5, 100, 0)
Q = labelFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 35, 100, 1)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 55, 100, 2)
Q = dataFont.WriteText ("Тест работы свойства для выравнивания текста в текстовом блоке для документа PDF, создаваемого на Платформе Мельница Данных", 5, 80, 100, 3)

Результат:
Выравнивание

Свойства шрифтов:

property Spacing: Double; - свойство, отвечающее за величину промежутка между буквами в слове. Задается в виде отклонения от промежутка между буквами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Spacing = 0
labelFont.Spacing = 1
dataFont.Spacing = 2
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (1 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 15

Результат:
Промежуток букв

property WordSpacing: Double; - свойство, отвечающее за величину промежутка между соседними словами. Задается в виде отклонения от промежутка между словами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.WordSpacing = 0
labelFont.WordSpacing = 2
dataFont.WordSpacing = 5
font.WriteLine "Промежуток по умолчанию (0)", 5, 5
labelFont.WriteLine "Промежуток с отклонением (2 мм)", 5, 10
dataFont.WriteLine "Промежуток с отклонением (5 мм)", 5, 15

Результат:
Промежуток слов

property Scaling: Double; - свойство, отвечающее за горизонтальное масштабирование букв используемого шрифта. Устанавливается в процентах. Горизонтальный масштаб по умолчанию - 100%.

Пример:
set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 14, False, False)
set labelFont = page.createFont("Arial", 14, False, False)
set dataFont = page.createFont("Arial", 14, False, False)
font.Scaling = 50
labelFont.Scaling = 100
dataFont.Scaling = 200
font.WriteLine "Сжатие (50)", 5, 5
labelFont.WriteLine "По умолчанию (100)", 5, 10
dataFont.WriteLine "Растягивание (150)", 5, 15

Результат:
Scaling

property RenderingMode: TPDFFontRenderingMode; - свойство, отвечающее за заливку букв используемого шрифта.
Типы заливки:
Значение параметра: | Отображение: | Описание:
0 | Font Fill | Сплошная заливка (по умолчанию). Буква заливается сплошным цветом, объявленным на данный момент.
1 | Font Stroke | Только граница. Прорисовывается граница буквы. Тело остается незалитым.
2 | Font FillStroke | Сначала заливка, потом граница. Граница прорисовывается всегда черным цветом. Заливка осуществляется сплошным цветом, объявленным на данный момент.
3 | Inv | Невидимый шрифт.

Пример:
set page = CreatePage(Null)
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 20, False, False)
set dataFont = page.createFont("Arial", 20, False, False)
font.RenderingMode = 0
labelFont.RenderingMode = 1
dataFont.RenderingMode = 2
page.setColor 255, 0, 0
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 5, 15, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 5, 25, 50, 0)

Результат:
Заливка букв

property Rise: Double; - свойство, отвечающее за перемещение текста по вертикали.

set page = CreatePage(Null)
page.DrawGrid
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 7, False, False)
set dataFont = page.createFont("Arial", 7, False, False)
labelFont.rise = -17
dataFont.rise = -2
Q = font.WriteText ("Олимпиада", 5, 5, 50, 0)
Q = labelFont.WriteText ("Олимпиада", 44, 5, 50, 0)
Q = dataFont.WriteText ("Олимпиада", 44, 5, 50, 0)

Результат:
Rise

Для определения размеров текстовой строки используется процедура MeasureLine(const LineText: WideString; out Width: OleVariant; out Height: OleVariant);

Здесь:

  • LineText - исходный текст для размещения на странице
  • Width - возвращаемый параметр ширины текстового блока на странице
  • Height - возвращаемый параметр высоты текстового блока на странице
S = "шифр"
font.MeasureLine S, W, H
Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2)

Здесь для текста "Шифр" замеряется ширина и высота получившегося текстового блока. Затем полученные данные используются для корректного размещения текста на странице.

Для определения высоты текстового блока используется функция MeasureText(const AText: WideString; Width: Double): Double; safecall;

Функция распределит текст по задаваемому значению ширины текстового блока и вернет значение высоты текстового блока в милиметрах.

Здесь:

  • AText - исходный текст для размещения на странице. Прописывается в кавычках.
  • Width - задаваемая ширина текстового блока на странице в милиметрах.
S = "Текст для размещения на странице..."
Q = font.MeasureText(S, 139)
Здесь для текста "Текст для размещения на странице..." замеряется высота получившегося текстового блока. Затем полученные данные могут использоваться для корректного размещения текста на странице.

5.7.6.1.3. Порядок создания

Для создания шаблона PDF-документа необходимо в системной форме Платформы выбрать класс, к которому будет строиться документ. В подменю "Подпрограммы" вызвать контекстное меню и выбрать пункт "Создать шаблон отчета PDF". Заполнить необходимые поля и приступить к созданию скрипта в окне "Скрипт шаблона".

  1. Объявляем все переменные.
  2. Создаем страницы
  3. Устанавливаем все свойства документа и страниц
  4. Рисуем простые графические объекты
  5. Объявляем все используемые шрифты
  6. Расставляем постоянный текст на странице
  7. Расставляем переменный текст на странице
  8. Вставляем или создаем сложные графические объекты
Пример документа PDF:
set LDataSet = createDataSet("TRoundAbiturSt")
'Объявление переменных
LDataSet.AddQueryItem 1, "ID", ID
LDataSet.AddQueryItem 0, "RoundComp$N"
LDataSet.AddQueryItem 0, "BachRound$N"
LDataSet.AddQueryItem 0, "LastName"
LDataSet.AddQueryItem 0, "FirstName"
LDataSet.AddQueryItem 0, "MiddleName"
LDataSet.AddQueryItem 0, "BirthDate"
LDataSet.AddQueryItem 0, "RegNumber"
LDataSet.AddQueryItem 0, "SecondStageCity$D"
LDataSet.AddQueryItem 0, "PhoneList"

'Присваивание переменным значений
OlympName = LDataSet.Field("RoundComp$N")
OlympClass = LDataSet.Field("BachRound$N")
LastName = LDataSet.Field("LastName")
FirstName = LDataSet.Field("FirstName")
MiddleName = LDataSet.Field("MiddleName")
if not IsNull(LDataSet.Field("BirthDate")) then
  BirthDate = LDataSet.Field("BirthDate")
else
  BirthDate = "(не задана)"
end if
RegNo = LDataSet.Field("RegNumber")
if not IsNull(LDataSet.Field("SecondStageCity$D")) then
  OlympCity = LDataSet.Field("SecondStageCity$D")
else
  OlympCity = "(не выбран город участия)"
end if
if not IsNull(LDataSet.Field("PhoneList")) then
  Phone = LDataSet.Field("PhoneList")
else
  Phone = ""
end if

'CanCompress = False - признак сжатия файла
set page = CreatePage(Null) ' создаем страницу
'Объявляем используемые шрифты
set font = page.createFont("Arial", 20, False, False)
set labelFont = page.createFont("Arial", 16, False, False)
set dataFont = page.createFont("Arial", 18, True, False)
set bigFont = page.createFont("Arial", 24, False, False)

'page.DrawGrid  - рисуем сетку для удобства отладки

page.LineWidth = 0.5 ' Установка толщины линии

' Рисуем прямоугольники
page.Rectangle 8, 12, 4, 4, True
page.Rectangle 190, 12, 4, 4, True

page.Rectangle 8, 273, 4, 4, True
page.Rectangle 105, 273, 4, 4, True
page.Rectangle 190, 273, 4, 4, True

'Выводим постоянный и переменный текст
Q = font.WriteText ("Межрегиональная олимпиада школьников", 12, 20, 178, 2)
Q = bigFont.WriteText (OlympName, 12, 45, 178, 2)
Q = bigFont.WriteText (OlympClass, 12, 56, 178, 2)

Q = font.WriteText ("Титульный лист", 12, 72, 178, 2)

labelFont.WriteLine "Фамилия", 25, 115 - 23
labelFont.WriteLine "Имя", 25, 123 - 23
labelFont.WriteLine "Отчество", 25, 131 - 23
labelFont.WriteLine "Дата", 25, 139 - 23
labelFont.WriteLine "рождения", 25, 145 - 23

labelFont.WriteLine "Регистрационный номер", 25, 169 - 30
labelFont.WriteLine "Город проведения", 25, 177 - 30
labelFont.WriteLine "Аудитория", 25, 185 - 30

labelFont.WriteLine "Дата", 25, 211
labelFont.WriteLine "Подпись", 25, 219
labelFont.WriteLine "Телефон", 25, 227

dataFont.WriteLine LastName, 63, 114 - 23
dataFont.WriteLine FirstName, 63, 122 - 23
dataFont.WriteLine MiddleName, 63, 130 - 23
dataFont.WriteLine BirthDate, 63, 141 - 23

dataFont.WriteLine RegNo, 100, 168 - 30
dataFont.WriteLine OlympCity, 100, 176 - 30

' Рисуем линии
page.line 100, 192 - 30, 150, 192 - 30
page.line 58, 218, 108, 218
page.line 58, 226, 108, 226
Q = dataFont.WriteText(Phone, 58, 226, 65, 0)

' Устанавливаем новый цвет
page.setColor 192, 192, 192

S = "шифр"
font.MeasureLine S, W, H  ' измеряем текстовый блок
Q = font.WriteText(S, 139, 244 + ((23 - H) / 2), 40, 2) ' располагаем текстовый
блок на странице

' Устанавливаем новый цвет
page.setColor 255, 0, 0
' Устанавливаем толщину линий в 1 пиксель
page.LineWidth = 0
' Рисуем линии по координатам
X = 139
Y = 267

page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

X = X + 40
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

Y = Y - 23
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

X = X - 40
page.line X, Y - 3, X, Y + 3
page.line X - 3, Y, X + 3, Y

Результат:

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/

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

Практический пример реализации:

Компания "Мельница технологий" в одном из московских ВУЗов осуществяла интеграцию с тестирующей системой по проведению олимпиад. С использованием протокола SOAP в тестирующую систему из Платформы предоставлялась информация о реквизитах олимпиад, которые были выбраны каждым школьником-участником. Был реализован обработчик-"переходник", через который передавалсь информация.

Для системы LMS (Learning Management System) компании Asteros данные также предоставляются по протоколу 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-кода, его интерпретация происходит в рамках сервера приложений Платформы.

Пример реализации:

Так как в базе данных Платформы уже хранятся данные о студентах, преподавателях, курсах и т.д., то при взаимодействии с системой обучения LMS, естественным, удобным и надежным решением является хранение все этих данных в одной базе данных

- В тех случаях, когда решения Платформы сами являются частью какой-либо более общей системы, и должны предоставлять свои функции, то это решается на уровне СУБД. То есть, сгенерированный Платформой прикладной код (код на соответствующем диалекте SQL) может быть интегрирован в код более масштабного хранилища, функционировать там, исполняться там, если в этом есть необходимость.

Прикладные системы на базе СУБД Teradata позволяют использовать PL/SQL-код для каких-либо наборов данных, притом, что сама база гораздо имеет продвинутые возможности автоматического контроля версий, хроникальности, аналитики.

5.9. Положения и определения

5.9.1. Работа с типами данных

5.9.1.1. Домены

5.9.2. Язык PascalScript

На языке PascalScript на платформе "Мельница данных" описываются тела методов и выражения. Выражения используются в условиях отбора объектов определенного класса при их отображении в представлениях, а также как встраиваемые выражения, которые могут служить членами класса для чтения свойств.

Здесь и далее зарезервированные слова выделены жирным шрифтом.

5.9.2.1. Структура программного блока тела метода
  [Описание переменных]
  begin
    //Операторы
  end;

Комментарии расположены между символами { и } либо от символов // до конца строки.

5.9.2.2. Описание переменных
var
    Имя переменной[, Имя переменной…]: Тип;
    Имя переменной[, Имя переменной…]: Тип;
    ...
Имя переменной должно быть идентификатором (последовательность символов a-z, A-Z, 0-9, _). "Тип" может быть одним из следующих:
  • integer - определяет переменные целочисленного типа;
  • string[целое_число] - определяет переменные строкового типа с заданной максимальной длиной; максимальная длина задается в квадратных скобках и обязательна для задания;
  • float - определяет переменные вещественного типа;
  • date - определяет переменные типа "дата";
  • time - определяет переменные типа "время";
  • datetime - определяет переменные типа "дата со временем";
  • boolean - определяет переменные логического типа;
  • blob - определяет переменные типа больших двоичных объектов;
  • Имя класса - определяет переменные-ссылки на экземпляры соответствующих классов;
  var
   I: integer;
   LSomeObject: TObject;
   LStart, LStop: datetime;
   LNewName: string[64];

5.9.2.3. Операторы PascalScript

Операторы разделяются точкой с запятой (;). Операторы могут быть одним из следующих:

5.9.2.3.1. Составной оператор
begin
  //Другие операторы
end
Операторы, размещенные внутри составного оператора, разделяются точкой с запятой. Никаких ограничений на состав операторов и количество уровней вложенности не накладывается.
begin
  Result := LCurrentValue;
  Exit;
end;

5.9.2.3.2. Оператор присваивания
Выражение1 := Выражение2

Присваивает значение выражения Выражение2 выражению Выражение1. Типы Выражения1 и Выражения2 должны быть совместимы (совпадать по классу домена либо оба быть числовыми). Для этого на Выражение1 (стоящее слева от знака равенства, lvalue) накладывается ряд ограничений. Это выражение должно быть:

  • Полем или свойством экземпляра класса
  • Локальной переменной
  • Параметром
  • Зарезервированной переменной Result
LObject.Name := 'Новое имя';
Result := 25;
LStartTime := StrToDateTime('01.01.2006 00:00:30');
var
  LObject: TObject;
  LClass: TClass;
  I: Integer;
  F: Float;
begin
  I := F;  //неверно
  F := I;  //верно
  LObject := LClass; //верно
  LClass := LObject; //неверно. Должно быть LClass := (LObject as TClass);
end;

5.9.2.3.3. Оператор вызова
ИмяПроцедуры [(Параметр1, Параметр2 ...)]

"ИмяПроцедуры" должно быть:

  • Именем метода класса и вызываться с указанием класса либо экземпляра;
  • Именем метода экземпляра и вызываться с указанием экземпляра;
  • Именем метода своего класса либо предка и вызываться без указания спецификаторов.
Порядок и количество параметров в операторе вызова должны строго совпадать с описанием метода.

  //метод класса, указан класс
  LList := TObjectList.Create(Name, Description, TObjectList, nil, nil, Folder);

  //метод экземпляра, указан экземпляр. Метод не имеет параметров.
  LList.Destroy;

  //свой либо унаследованный метод
  BuildDefaultActions(Name, True);

5.9.2.3.4. Оператор ветвления
if Выражение then
  //Оператор1
[else
  //Оператор2]

Выражение должно быть логического типа. В случае если значение Выражения истинно, выполняется Оператор1. Часть else является необязательной и относится к последнему оператору if, не имеющему таковой. В случае ее наличия Оператор2 выполняется, если значение Выражения ложно.

if LIndex > 25 then
  raise 'Индекс слишком большой.';

if LMonth = 'январь' then
  January
else if LMonth = 'февраль' then
  February
else
  OtherMonth;  //обратите внимание на точки с запятой.

5.9.2.3.5. Оператор выбора
case Выражение of
  Значение1: //Оператор1
  Значение2: //Оператор2
  ...
[else
  //Оператор ]
end

Заменяет каскад операторов if. Значение Выражения должно быть числового типа. Часть else выполняется в случае, если Выражение не равно ни одному из перечисленных вариантов. Эта часть не является обязательной.

сase LIndex of
  0: ZeroIndex;
  1,2,3: SmallIndex;
  4,5,6,7,8,9,10: BigIndex;
else
  raise 'Слишком большой или отрицательный индекс.';
end;

5.9.2.3.6. Цикл с предусловием
while Выражение do
  //Оператор

Оператор выполняется до тех пор, пока значение Выражения истинно. Выражение должно быть логического типа. Если при входе в цикл Выражение не истинно, то тело цикла не будет выполнено ни одного раза.

while LList.Count > 0 do
  LList.GetItem(0).Destroy;

while True do
begin
  LValue := LValue.NextValue;
  if LValue.Value > 10 then
  begin
    Result := LValue.Value;
    exit;
  end;
end;

5.9.2.3.7. Цикл с постусловием
repeat
  //Операторы
until Выражение

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

repeat
  Result := Result + 1;
  LObject := LObject.Parent;
until LObject = nil;

5.9.2.3.8. Цикл с параметром
for Параметр := Выражение1 (to|downto) Выражение2 do
  //Оператор

Параметр цикла обязан быть простой локальной переменной. Функционально цикл с параметром эквивалентен циклам:

  • Для формы to
    Параметр := Выражение1;
while Параметр <= Выражение2 do
    begin
  Оператор;
  Параметр :=  Параметр + 1;
end;
  • Для формы downto
    Параметр := Выражение1;
while Параметр >= Выражение2 do
    begin
  Оператор;
  Параметр :=  Параметр - 1;
end;
Если Выражение1 равно Выражению2, тело цикла будет выполнено один раз.

for I := LList.Length - 1 downto 0 do
// если LList.Length = 0, тело цикла ни разу не будет выполнено.
begin
  LClass := LList.GetItem(I);
  LMethod := any(TMethod with (Name = LName) and (Master = LClass));
  LParamList.Add(any(TMethod with (Name = LName) and (Master = LClass)));
end;

5.9.2.3.9. Цикл по экземплярам
for each Параметр of ИмяКласса [with Выражение]
       [by [-] Выражение [, [-] Выражение]] do
         //Оператор

Цикл осуществляется по выборке среди экземпляров класса ИмяКласса, для которых истинно Выражение. Если Выражение не задано, то по всем экземплярам. Ссылка на текущий в рамках цикла экземпляр присваивается в локальную переменную Параметр. Выражение должно определяться относительно переменной Параметр. Выраженния, следующие за ключевым словом by, определяют порядок обхода экземпляров. Знак "-" перед выражением (любого типа) определяет обратный порядок обхода.

for each LOption of TOption with LOption.Domain.Required do
    // для каждой настройки, домен которой обязателен
  LOption.SetDefaultValue;

5.9.2.3.10. Оператор прекращения цикла
break

Происходит немедленный выход из цикла. Выполняется финализация операторов защиты завершения, которыми защищено тело цикла. Допустим только в теле цикла с предусловием, цикла с постусловием, цикла с параметром или цикла по экземплярам.

5.9.2.3.11. Оператор выхода из подпрограммы
exit

Происходит немедленный выход из программного блока. Выполняется финализация операторов защиты завершения.

5.9.2.3.12. Оператор защиты завершения
try
  //Операторы1
finally
  //Операторы2
end

Выполняются операторы Операторы1, разделенные точкой с запятой. В случае возникновения исключительной ситуации управление сразу передается на Операторы2, и после их выполнения исключение остается активным. Если исключения не произошло, выполняются Операторы2. Если среди Операторов1 встречается оператор exit, то Операторы2 все равно выполняются.

//создание временного объекта-списка
LList := TObjectList.Create(Name, Description, TObjectList, nil, nil, Folder);
try
  LList.Add(LValue);
  Exit;
finally
  //гарантированное уничтожение созданного объекта независимо от исключений.
  LList.Destroy;
end;

5.9.2.3.13. Оператор обработки исключительных ситуаций
try
  //Операторы1
except
  //Операторы2
end

Выполняются операторы Операторы1. В случае возникновения исключительной ситуации управление передается на Операторы2. Если исключительных ситуаций не возникло, Операторы2 не выполняются никогда. При передаче управления на Операторы2 исключительная ситуация деактивирована. Для ее повторного возбуждения можно воспользоваться оператором возбуждения исключения без указания текстовой строки сообщения.

try
  LObject.NeverTouch := True;
  LObject.ExecuteCoolMethod; //если метод выполнен неудачно
except
  LObject.NeverTouch := True;  //установить флаг и ничего не сообщать пользователю.
end;

try
   LObject.ExecuteCoolMethod; //если метод выполнен неудачно
except
   LObject.Destroy; //удалить неудачный объект
   raise;           // продолжить обработку исключения.
end;

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

5.9.2.3.15. Оператор унаследованного вызова
inherited

Работает только в унаследованном переопределенном методе. Вызывается метод предка с параметрами, заданными в параметрах к моменту вызова. Если программный блок представляет собой тело функции, то в псевдопеременной Result будет результат выполнения метода предка.

// в теле конструктора
Name := 'Object name';
Description := 'Object description';
inherited; //вызов предка с параметрами Name и Description,
           //заданными двумя предыдущими операторами. Ссылка на
           //созданный объект лежит в
           //псевдопеременной Result
Result.Name := 'New name';

5.9.2.4. Выражения и операции

5.9.2.4.1. Состав выражения
Любое выражение имеет тип. Выражения состоят из следующих элементов:
  • Целая числовая константа (0 3 234);
  • Вещественная числовая константа. Дробная часть отделяется от целой точкой (".") (3.14 2.71);
  • Строковая константа. Заключается в апострофы. ('Some string' '10', '01.01.2006' 'now');
  • Логическая константа (True False);
  • Безтиповая (любого типа) константа nil;
  • Зарезервированное слово Self. Обозначает разный объект в зависимости от контекста:
    • В методах класса кроме конструктора - использование запрещено.
    • В методах экземпляра - всегда экземпляр, для которого вызван метод.
    • В конструкторе - до вызова унаследованного метода значение не определено. После вызова - ссылка на сконструированный объект.
    • В выражениях условий отбора - объект, для которого принимается решение о его вхождении в отбор.
  • Квалификатор.
  • Агрегат.

5.9.2.4.2. Квалификатор

Квалификатор обозначает объект, переменную, параметр, свойство, поле, вызов функции. Квалификатор состоит из идентификаторов, разделенных точкой.

Result
AName
Caption
LObject.Name
LObject.Parent.Name
LObject.ChildCount
LObject.HasAsParent(LOtherObject)

При интерпретации квалификатора используется следующий порядок разбора идентификатора:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Локальная переменная
  3. Параметр
  4. Имя элемента перечисления
  5. Имя класса. Вне контекста означает ссылку на соответствующий объект класса TClass
  6. Имя поля
  7. Имя метода
  8. Имя свойства

При интерпретации квалификатора внутри выражения агрегата правила разбора идентификатора изменяются:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Имя элемента перечисления
  3. Имя класса. Если это имя агрегируемого класса, то дальнейшие разыменования относятся к агрегируемому объекту
  4. Имя поля
  5. Имя метода
  6. Имя свойства
  7. Локальная переменная
  8. Параметр

5.9.2.4.3. Агрегат

Агрегат определяет агрегированное значение над экземплярами определенного класса, удовлетворяющими условиям агрегации. Агрегаты бывают следующих типов:

  • any - первый попавшийся объект. Результат имеет тип ссылки на объект агрегируемого класса.
    any(TObject with Master = Self.Parent)
//первый попавшийся объект, имеющий значение
//свойства Master равным значению свойства
//Parent текущего (контекстного) объекта.
  • count - количество объектов. Результат имеет целочисленный тип.
    count(TObject with Master = Self.Parent)
//количество объектов, имеющих значение свойства
//Master равным значению свойства Parent
//текущего объекта.
  • sum - сумма значений свойства, поля или функции объектов. Результат имеет тип суммируемого поля, свойства или функции
    sum(TExam.Mark with Master = LStudent) //сумма
//баллов студента по его испытаниям
  • max, min - соответственно максимальное и минимальное значений свойства, поля или функции объектов. Результат имеет тип агрегируемого поля, свойства или функции
    min(TObject.Created) // момент создания первого
//объекта Системы.

Внутри выражения агрегата правила разбора идентификатора изменяются на следующие:

  1. Контекстная переменная (для выражений условий отбора доменов)
  2. Имя элемента перечисления
  3. Имя класса. Если это имя агрегируемого класса, то дальнейшие разыменования относятся к агрегируемому объекту
  4. Имя поля
  5. Имя метода
  6. Имя свойства
  7. Локальная переменная
  8. Параметр

5.9.2.4.4. Операции

Операции связывают элементы выражений.

Таблица операций в порядке приоритета:
Левый операнд | Правый операнд
 | Целый | Вещест- венный | Дата | Время | Дата со временем | Логи- ческий | Строковый | Объект | nil
not
Нет | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
* (звездочка)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
/ (слэш, дробь)
Целый | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
div
Целый | Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
and
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
or
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
+ (плюс)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Запрещено | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Строковый | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
- (минус)
Целый | Целый | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Вещест- венный | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Дата | Дата со временем | Целый | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Время | Время | Время | Дата со временем | Время | Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Дата со временем | Дата со временем | Вещест- венный | Дата со временем | Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
=, <> (равно, не равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Логи- ческий
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Логи- ческий
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Логи- ческий
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий
<, >, <=, >= (меньше, больше, меньше либо равно, больше либо равно)
Целый | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Логи- ческий | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Логи- ческий | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
is
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Логи- ческий | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
as
Целый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Вещест- венный | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Время | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Дата со временем | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Логи- ческий | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Строковый | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено
Объект | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Объект | Запрещено
nil | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено | Запрещено

5.9.2.4.4.1. Особенности применения операций
  1. Приоритет сравнений ниже приоритета операций булевой логики. Поэтому выражение
    LObject.Master = LMaster and LObject.Parent = LParent
    будет интерпретироваться следующим образом:
    LObject.Master = (LMaster  and LObject.Parent) = LParent
    и вызовет ошибку компиляции из-за применения операции and к объектам. Необходимо писать:
    (LObject.Master = LMaster) and (LObject.Parent = LParent)
  2. Любое значение (выражение любого типа) сравнивается с безтиповой константой nil:
          LObject := any(TObject with Name = 'Some name');
      if LObject = nil then
         .....
  3. Операции "Унарный минус" не существует. Для задания отрицательных констант пользуйтесь конструкцией 0-Значение:
    Result := 0-1;

5.9.2.5. Формальная грамматика
Goal: MethodBody | Expression;

MethodBody: [ConstantDeclaration] [VariableDeclaration] CompoundStatement ";";

ConstantDeclaration: "const" Ident ":" DomainSpecification ";"
  [{Ident ":" DomainSpecification ";"}];

VariableDeclaration: "var" DomainDefinition [{DomainDefinition}];

DomainDefinition: Ident ":" DomainSpecification ";";

DomainSpecification: IntegerDomainDefinition
  | StringDomainDefinition
  | FloatDomainDefinition
  | DateDomainDefinition
  | TimeDomainDefinition
  | DateTimeDomainDefinition
  | BooleanDomainDefinition
  | BlobDomainDefinition
  | EnumerationDomainDefinition
  | Ident;

IntegerDomainDefinition: "integer";
StringDomainDefinition: "string" "[" Number "]";
FloatDomainDefinition: "float" ["(" Number ["." Number] ")"];
DateDomainDefinition: "date";
TimeDomainDefinition: "time";
DateTimeDomainDefinition: "datetime";
BooleanDomainDefinition: "boolean";
BlobDomainDefinition: "blob" | "clob";
EnumerationDomainDefinition: "(" Ident {"," Ident} ")";

CompoundStatement: "begin" Statement [{";" Statement}] "end";

Statement:
  | CompoundStatement
  | AssignmentStatement
  | InheritedStatement
  | CallStatement
  | IfStatement
  | CaseStatement
  | ForStatement
  | WhileStatement
  | RepeatStatement
  | TryFinallyStatement
  | TryExceptStatement
  | RaiseStatement
  | ForEachStatement
  | ExitStatement;

AssignmentStatement:  Qualifier ":=" Expression;

CallStatement: Qualifier;

InheritedStatement: "inherited";

IfStatement: "if" Expression "then" Statement ["else" Statement];

CaseStatement: "case" Expression "of" {CaseBranch} ["else" Statement ";"] "end";

CaseBranch: CaseLabel [{',' CaseLabel}] ":" Statement ";";

CaseLabel: Number | Ident;

ForStatement: "for" Ident ":=" Expression ("to"|"downto")
  Expression "do" Statement;

WhileStatement: "while" Expression "do" Statement;

RepeatStatement: "repeat" Statement [{";" Statement}] "until" Expression;

TryFinallyStatement: "try" Statement [{";" Statement}] "finally"
  Statement [{";" Statement}] "end";

TryExceptStatement: "try" Statement [{";" Statement}] "except"
  Statement [{";" Statement}] "end";

RaiseStatement: "raise" [Expression];

ForEachStatement: "for" "each" Ident "of" Ident ["with" Expression]
  ["by" Expression] "do" Statement;

ExitStatement: "exit";

Expression: ComparedExpression [{RelationOperation Expression}];

ComparedExpression: Addon [{AdditionOperaton ComparedExpression}];

Addon: Factor [{MultiplicativeOperation Addon}];

Factor: "(" Expression ")"
  | "not" Expression
  | Number ["." Number]
  | StringConstant
  | Qualifier
  | "nil"
  | "True"
  | "False"
  | "(" Expression "is" Ident ")"
  | "any" Aggregate
  | "count" Aggregate
  | "sum" Aggregate
  | "max" Aggregate
  | "min" Aggregate;

Aggregate: "(" Ident ["." Ident] ["with" Expression] ")";

Qualifier: QualifierPart [{"." QualifierPart}];

QualifierPart: Ident ["(" Expression [{", " Expression}] ")"]
  | "self"
  | "(" Qualifier "as" Ident ")";

RelationOperation: "<"
  | ">"
  | "<="
  | ">="
  | "="
  | "<>";

AdditionOperaton: "+"
  | "-"
  | "or";

MultiplicativeOperation: "*"
  | "/"
  | "div"
  | "and";

5.9.2.6. Соглашения

5.9.2.6.1. Соглашения о наименованиях

В качестве вводимых (объявляемых) идентификаторов необходимо использовать так называемую нотацию InfixCaps. Если при создании имени используется несколько слов, то необходимо использовать заглавную букву для каждого слова в имени. Для разделения слов нельзя использовать символ подчеркивания. Все сущности именуются на английском языке, при этом использование сокращений является оправданным только в случае, если длина образуемого имени не согласуется с внешними по отношению к соображениям бизнес-логики ограничениям.

  • Имя класса должно начинаться с латинской буквы 'T'.
    Имя | Наименование
    TObjectList | Список объектов
    TLearnPlan | Учебный план
  • Имя поля должно начинаться с латинской буквы 'F'.
    Имя | Наименование
    FLearnPeriod | Период обучения
    FExamMark | Оценка за экзамен
  • Имя свойства не имеет префикса.
    Имя | Наименование
    ExamKind | Вид рубежного испытания
    ContactPhone | Контактный телефон
    Если членом класса для чтения свойства является поля, то имя свойства должно повторять имя поля без префикса 'F'. Если членом класса для чтения свойства является метод, то имя поля должно повторять имя метода без слова 'Get'.
  • Имя параметра не имеет префикса.
    Имя | Наименование
    OrderNumber | Номер приказа
    ExamDate | Дата проведения экзамена
    Параметры, используемые для инициализации значений полей, должны иметь имя, повторяющее имя поля без префикса 'F'. При компиляции тела метода, написанного на языке PascalScript имена параметров и имена свойств будут распознаваться в соответствии с порядком разбора идентификаторов, как это описано здесь и здесь.
  • Имена методов должны представлять собой императивный глагол на английском языке, выражающий смысл того, что метод делает. Имена методов не имеют префикса. Имена методов, используемых для получения значений свойств должны (как члены класса для чтения), должны начинаться со слова Get. Имена методов, используемых для установки значений свойств должны (как члены класса для записи), должны начинаться со слова Set.
    Имя | Наименование
    CountMarkSumm | Вычислить сумму баллов
    GetAge | Получить значение возраста
    SetMark | Установить значение оценки
  • Имена локальных переменных должны начинаться с латинской буквы 'L'.
    LMarkSumm (сумма баллов), LObjectCount (количество объектов).
  • Имена доменов должны начинаться с латинской буквы 'T'. В именах доменов допустимы пробелы. Рекомендуется к имени домена добавлять слово 'domain' (через пробел), а для обязательных доменов 'required domain' (через пробел) тогда, когда необходимо исключить возможность использования этих доменов в текстах на PascalScript. Первым словом в имени домена-ссылки должно быть имя класса домена. Исключением являются имена доменов, соответствующих простым типам данных без дополнительных ограничений. Имена таких доменов могут повторять имена типов языка PascalScript (Integer, Boolean, Float).
    Имя | Класс домена | Наименование
    TPrice domain | Вещественный | домен Цена
    TWeight required domain | Целочисленный | домен Вес (обязательный)
    Boolean | Логический | Логический
    TClassMember required domain | Ссылка | домен Член класса
  • Имена элементов перечислений должны иметь префикс из двух или трех символов, идентифицирующий соответствующий домен-перечисление. Префикс записывается строчными буквами. Например,
    Имя | Наименование
    для домена TExamKind (вид испытания)
    ekTest | зачет
    ekExam | экзамен
    ekDifTest | дифференцированный зачет
    для домена TAggregateKind (вид агрегата)
    agCount | количество
    agSumm | сумма
    agAverage | среднее значение
    Настоятельно рекомендуется давать уникальные имена элементов перечислений в пределах всей системы.

5.9.2.6.2. Cтилевое оформление исходного кода

Код на языке PascalScript, являющийся частью поставляемого решения, должен быть оформлен в соответствии с изложенными правилами.

5.9.2.6.2.1. Использование строк, пробелов и отступов

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

Пробелы, запрещенные к использованию:

  • До или после точки "."
  • Между именем вызываемого метода и открывающей скобкой "("
  • После открывающей скобки "(" или перед закрывающей ")"
  • Перед точкой с запятой ";"
  • Перед двоеточием ":"
  • Перед запятой ","

Двоеточие для всех объявлений переменных не должно содержать перед собой пробелов и иметь один пробел после перед именем типа.

Всегда необходимо использовать два пробела для всех уровней отступа. Другими словами, первый уровень отступает на два пробела, второй на четыре и так далее. Никогда не используйте символы табуляции.

Существует несколько исключений из этого правила. Зарезервированные слова var, begin и end, относящиеся к программному блоку вцелом, всегда должны примыкать к левой границе. Код внутри блока begin..end должен иметь отступ два символа.

Все строки должны быть ограничены 80 столбцами. Строки, длиннее чем 80 столбцов должны быть разделены и перенесены. Все перенесенные строки должны быть выровнены по первой строке и иметь отступ в два символа. Зарезервированное слово begin всегда должно находиться на своей отдельной строке.

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

5.9.2.6.2.2. Оформление объявлений и операторов

Все переменные с их типами должны быть объявлены на различных строках.

Простые операторы содержат одну точку с запятой. Если Вам необходимо разделить оператор, то перенесите продолжение оператора на следующую строку с отступом в два пробела.
  MyValue :=
    MyValue + (SomeVeryLongStatement / OtherLongStatement);

Составные операторы всегда заканчиваются точкой с запятой.
begin
  MyStatement;
  MyNext Statement;
  MyLastStatement;
end;

Каждое присвоение и каждое выражение должно располагаться на разных строках.

Оператор "if"

Оператор if всегда должен располагаться по крайней мере на двух строках
if A < B then DoSomething;
if A < B then
  DoSomething;
В случае составного оператора необходимо поместить каждый оператор на новую строку.
  if A < B then begin
    DoSomething;
    DoSomethingElse;
  end else begin
    DoThis;
    DoThat;
  end;

  if A < B then
  begin
    DoSomething;
    DoSomethingElse;
  end
  else
  begin
    DoThis;
    DoThat;
  end;
Все остальные варианты расположения операторов не рекомендуются и не одобряются, хотя и являются синтаксически правильными.

Оператор "for"

  for i := 0 to 10 do begin
    DoSomething;
    DoSomethingElse;
  end;

  for i := 0 to 10 do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  for I := 0 to 10 do
    DoSomething;

Оператор "while"

  while x < j  do begin
    DoSomething;
    DoSomethingElse;
  end;
  while x < j do
  begin
    DoSomething;
    DoSomethingElse;
  end;

  while x < j do
    Something;

Оператор "repeat..until"

  repeat
    x := j;
    j := UpdateValue;
  until j > 25;

Оператор "case"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
  case LCode of
    1, 3:
      begin
        Incr := FIncrement + 1;
        FinalIncr := FIncrement div FLineDiv;
        Count := FLineDiv;
      end;
    2, 4:
      begin
        Incr := FPageIncrement;
        FinalIncr := Incr + 1;
        Incr := Incr div FPageDiv;
        Count := FPageDiv;
      end;
  else
    begin
      Count := 0;
      Incr := 0;
      FinalIncr := 0;
    end;
  end;

Оператор "try"

Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
try
  try
    EnumItems(CurrentThreadID, LDisable, 0);
    Result := TaskList;
  except
    EnableItems(TaskList);
    raise;
  end;
finally
  TaskList := SaveList;
  TaskActive := SaveActive;
end;

5.9.3. Интерфейсы взаимодействия с внешними подсистемами

Системный слой платформы "Мельница данных" предоставляет сторонним системам ряд интерфейсов, дающих возможность обращаться к объектам базы данных и их свойствам, вызывать методы классов и объектов, осуществлять запросы к базе данных, управлять поведением элементов управления и проч.

5.9.3.1. Интерфейс IContext
  IContext = interface(IDispatch)
    ['{79847D79-A3BE-408F-B59F-662B91BC6350}']
    function Handle: Integer;
    function getName(ID: OleVariant): WideString;
    function getDescription(ID: OleVariant): WideString;
    function createDataSet(const TargetClassName: WideString):
      IContextDataSet;
    function executeMethod(const ClassName: WideString;
      const MethodName: WideString;
      Params: OleVariant): OleVariant;
    function executeReport(const ClassName: WideString;
      const TemplateName: WideString;
      Params: OleVariant): IDispatch;
    function getPropValue(const ClassName: WideString;
      const PropName: WideString;
      const ID: OleVariant): OleVariant;
    procedure setPropValue(const ClassName: WideString;
      const PropName: WideString;
      const ID: OleVariant; Value: OleVariant);
    function select(const ClassName: WideString;
      QueryItems: OleVariant): IDispatch;
    function enumerationItem(ItemIdentifier: OleVariant): WideString;
    function getClass(const ClassName: WideString): WideString;
    function createGUID: WideString;
    procedure processStart(const Description: WideString;
      ItemCount: Integer);
    procedure processStep;
    procedure processStop;
    function PlaceDataSet(const Range: IDispatch;
      const DataSet: IContextDataSet;
      ShiftRows: WordBool; ShiftColumns: WordBool): Integer;
    procedure DebugString(const Message: WideString);
    procedure ExportObject(var Document: OleVariant; const ID: WideString;
      const ClassID: WideString);
    function callRoutine(const ClassName, RoutineName: WideString;
      var RetValue: OleVariant; const ScriptPart: OleVariant): WordBool;
    function getOleObject(const ClassID, AccessibleFileName: WideString): IDispatch;
    function getResource(const Name: WideString): WideString;
    function getTempFileName(const Extension: WideString): WideString;
    function selectVaue(const ClassDomain: WideString;
      const ExpressionContext: IContextExpressionInfo;
      var Value: OleVariant): WordBool;
    procedure raiseManagedException(const ExceptionMessage: WideString);
    function getCRC(Data: OleVariant): WideString;
    function downloadData(const Host: WideString; const Url: WideString;
      const UserName: WideString; const Password: WideString;
      NegotiateAuth: WordBool; PostData: OleVariant;
      const PostContentType: WideString; PostDataIsBinary: WordBool;
      CanCache: WordBool; NewSession: WordBool; TimeOut: Integer): OleVariant;
    function createBinaryData: IDispatch;
    function BinaryToBitmap(const Data: IDispatch): IDispatch; safecall;
    function editValues(const ValuesList: WideString; const Title: WideString;
      UseTabs: WordBool; HideOKButton: WordBool;
      const ScriptPart: OleVariant): WordBool;
    function MsgBox(const Prompt: WideString; Buttons: LongWord;
      const Title: WideString;
      const HelpFile: WideString; Context: LongWord): Integer;
    function ShowMsgBox(const Prompt: WideString; Buttons: LongWord;
      const Title: WideString;
      const HelpFile: WideString; Context: LongWord): Integer;
    function buildNamedFile(const Data: IDispatch; const StoredFileName: WideString;
                            Propmpt: WordBool; Compress: WordBool): IDispatch;
    procedure parseNamedFile(const NamedFile: IDispatch; out FileName: OleVariant;
                             out Data: OleVariant);
    procedure showView(const ViewName: WideString; Key: OleVariant;
                       const DetailPropertyName: WideString);
    procedure showDataSet(const DataSet: ContextDataSet; const Caption: WideString;
                          ColumnCaptions: OleVariant; ColumnOnChangeHandlers: OleVariant;
                          TakeActionsFromView: OleVariant);
    function executeConsoleProcess(const CommandLine: WideString; MaxDuration: Integer;
                                   const OutputData: OleVariant): Integer;
    function createRaster: IDispatch;
    function createZIPArchive: IDispatch;
    function ConvertExcel(Source: OleVariant; const Format: WideString): IDispatch;
    property ContextObject: IDispatch;
    property Language: WideString;
    property UserName: WideString;
    property NegotiateAuth: WordBool;
    property Variable[const Name: WideString; Persistent: WordBool]: OleVariant;
  end;

Члены интерфейса доступны для использования в скриптах форм задания параметров, а также в отчетах как члены класса передаваемого контекстного объекта.

  • Функция Handle возвращает дескриптор главного окна приложения.
  • Функция getName возвращает имя объекта по его идентификатору.
  • Функция getDescription возвращает наименование объекта по его идентификатору.
  • Функция createDataSet создает набор данных, основанный на экземплярах класса, имя которого передано как параметр. Возвращаемый объект реализует интерфейс IContextDataSet.
  • Функция executeMethod осуществляет вызов метода с параметрами. Имя класса передается в параметре ClassName, имя вызываемого метода - в параметре MethodName. Если вызываемый метод явяется функцией, то результат ее выполнения возвращается как результат вызова executeMethod. Параметры вызова метода передаются через параметр Params следующим образом:
    • Для методов класса без параметров можно передавать любое значение, например, Null.
    • Для методов класса, имеющих один параметр, значение Params есть значение этого единственного параметра.
    • Для методов класса, имеющих более одного параметра, значение Params есть массив значений параметров.
      VBScript, VBA | LValue = executeMethod("TObject", "Round", Array(10.24, 1))
      JScript | LValue = executeMethod("TObject", "Round", new Array(10.24, 1));
      Object Pascal | LValue := executeMethod('TObject', 'Round', VarArrayOf([10.24, 1]));
    • Для методов экземпляра без параметров значение Params есть идентификатор объекта, для которого вызывается метод.
    • Для методов экземпляра, имеющих параметры, значение Params есть массив значений параметров. При этом первым элементом массива является идентификатор объекта, для которого вызывается метод.
      VBScript, VBA | executeMethod "TObject", "MergeTo", Array(LOldObject, LNewObject)
      JScript | executeMethod("TObject", "MergeTo", new Array(LOldObject, LNewObject));
      Object Pascal | executeMethod('TObject', 'MergeTo', VarArrayOf([LOldObject, LNewObject]));
  • Функция executeReport осуществляет вызов отчета с параметрами. Имя класса передается в параметре ClassName, имя вызываемого метода - в параметре TemplateName. Параметры вызова передаются в параметре Params аналогично вызову executeMethod. В результате вызова функции возвращается ссылка на рабочую книгу Microsoft Excel, документ Microsoft Word и так далее. Судьба приложения, в рамках которого создан возвращенный объект, остается на усмотрение вызывающей стороны. Если вызывающая сторона предполагает взаимодействие объекта с пользователем, то необходимо обеспечить видимость объекта-приложения (Application.Visible := True;). В противном случае необходимо закрыть приложение после освобождения объекта документа (Application.Quit).
  • Функция getPropValue возвращает значение свойства объекта. Имя класса, имя свойства и идентификатор объекта задаются в параметрах.
  • Процедура setPropValue устанавливает значение свойства объекта в значение, заданное параметром Value. Для очистки значения можно использовать пустую строку или значение Null. Имя класса, имя свойства и идентификатор объекта задаются в параметрах.
  • Функция select возвращает ссылку на XML-документ, содержащий в корневом элементе элементы, представляющие собой записи набора данных на основе класса ClassName (с полями, разнесенными по элементам), определяемого структурой параметра QueryItems.
  • Функция enumerationItem возвращает идентификатор элемента перечисления по имени.
    VBScript, VBA | LItemID = enumerationItem("rsReplicatableMetadata")
    JScript | LItemID = enumerationItem("rsReplicatableMetadata");
    Object Pascal | LItemID := enumerationItem('rsReplicatableMetadata');
  • Функция getClass возвращает идентификатор объекта типа Класс TClass (Классы) по имени.
    VBScript, VBA | LClassID = getClass("TDocumentType")
    JScript | LClassID = getClass("TDocumentType");
    Object Pascal | LClassID := getClass('TDocumentType');
  • функция createGUID является оберткой над функцией Windows API CoCreateGuid. Возвращает сгенерированный глобально-уникальный идентификатор, преобразованный в строку.
  • процедура processStart информирует систему о необходимости показать окно выполнения длительного процесса. Текст, описывающий процесс (он появляется в показываемом окне) задается параметром Description. В случае, если есть возможность определить количество "шагов" процесса, то это количество необходимо передать в параметре ItemCount. В случае, если параметр ItemCount больше нуля, окно выполнения будет снабжено индикатором прогресса. Если значение ItemCount равно нулю, то окно появится без индикатора прогресса. Если значение ItemCount меньше нуля, то решение о появлении окна будет принято системой самостоятельно на основании загрузки процессора и окно процесса не появится, если процесс завершится достаточно быстро.
  • процедура processStep информирует систему о завершении очередного "шага" процесса, что найдет отражение в индикаторе прогресса окна выполнения длительного процесса, если таковые случатся.
  • процедура processStop информирует систему о завершении длительного процесса, что приведет к закрытию окна выполнения длительного процесса, если таковое случится.
  • функция PlaceDataSet осуществляет перенос данных из набора, задаваемого параметром DataSet в некоторое место документа Microsoft Office. Место назначения определяется параметром Range следующим образом:
    Microsoft Word
    • Объект Range. По месту расположения этого объекта будет создана таблица (Table), в которой будут размещены данные из набора.
      PlaceDataSet ThisDocument.Bookmarks("BookMarkName").Range, LDataSet
      PlaceDataSet Selection.Range, LDataSet
    • Объект Document. В самом начале переданного документа будет создана таблица (Table), в которой будут размещены данные из набора.
      PlaceDataSet ThisDocument, LDataSet
    Microsoft Excel
    • Объект Range. По месту расположения этого объекта (диапазона) будут размещены данные из набора. Если параметр ShiftRows задан и равен True, то заданный диапазон будет расширен вниз на необходимое количество строк, и информация, лежащая ниже переданного диапазона, будет по-прежнему лежать ниже. Если нет, то она (скорее всего) будет затёрта данными набора. Если параметр ShiftColumns задан и равен True, то этот диапазон будет расширен вправо на необходимое количество столбцов, и информация, лежащая правее переданного диапазона, будет по-прежнему лежать правее. Если нет, то она (скорее всего) будет затёрта данными набора.
      PlaceDataSet Range("C4"), LDataSet
    • Объект WorkSheet. На переданном листе будут размещены данные из набора.
      PlaceDataSet WorkSheets("HiddenSheet"), LDataSet
    Функция возвращает количество размещенных записей.
  • процедура DebugString выводит переданную в качестве аргумента строку в отладочный монитор.
  • процедура ExportObject осуществляет экспорт информации об объекте, задаваемом параметром ID в XML-документ, передаваемый в параметре Document. Если объект документа не был создан, то он создается автоматически. Если документ не имеет корневого узла, он будет создан автоматически.
    set LDataSet = CreateDataSet("TSecurityAccount")

LDataSet.AddQueryItem qpWhat, "ID"

set LDocument = CreateObject("Msxml2.DOMDocument.4.0") 'Не обязательно.

while not LDataSet.Eof
  ExportObject LDocument, LDataSet.Field("ID")
  LDataSet.Next
wend

LDocument.save "c:\RolesAndUsers.xml"
  • Функция callRoutine осуществляет вызов подпрограммы. Параметры будут запрошены у пользователя обычным порядком (с показом формы задания параметров, отработки ее скрипта и т. д.). Имя класса передается в параметре ClassName, имя вызываемой подпрограммы - в параметре RoutineName. Если пользователь разрешил выполнение подпрограммы (либо для выполнения не требовалось разрешения пользователя), функция вернет True, иначе False. Значение, возвращаемое подпрограммой, может быть возвращено через необязательный параметр RetValue. Через значение необязательного параметра ScriptPart можно передать скрипт на языке VBScript, который будет "приклеен" сверху к скрипту формы параметров вызываемой подпрограммы.
  • Функция getOleObject возвращает ссылку на Ole-объект с идентификатором класса, переданном в параметре ClassID. Объект создается на основе библиотеки кода, сохраненной в доступном файле с именем, заданным параметром AccessibleFileName. Регистр символов имени доступного файла важен.
  • Функция getResource возвращает значение ресурсной строки по имени ресурса (элемента перечислимого домена Resource strings или перевода (объекта класса TLanguageTranslation).
    MsgBox getResource("rssMyErrorMessage")
  • Функция getTempFileName возвращает сгенерированное системой имя временного файла с расширением, переданным в параметре Extension.
  • Функция selectVaue позволяет пользователю выбрать значение на основе ссылочного домена, имя которого передается в параметре ClassDomain. Вызывающая сторона может реализовать интерфейс IContextExpressionInfo, через который передается информация о контексте вызова для интерпретации выражений условий отбора, и передать ссылку на него через параметр ExpressionContext. Выбранное значение передается в обе стороны через параметр Value. Если пользователь подтвердил выбор значения, функция возвращает значение True, и устанавливает значение параметра Value, равное идентификатору выбранного пользователем объекта. Если пользователь отказался от выбора, функция возвращает значение False.
  • Процедура raiseManagedException возбуждает управляемую исключительную ситуацию с сообщением для пользователя, заданным параметром ExceptionMessage.
  • Функция getCRC возвращает шестнадцатиричное представление контрольной суммы переданных в параметре Data данных. Параметр может быть
    • Объектом, реализующим интерфейс IBinaryData
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Объектом, реализующим интерфейс IFile объектной модели FileSystemObject
    • Строкой данных. Строка будет преобразована в байты в соответствии с кодировкой UTF-8.
  • Функция downloadData осуществляет обращение к указанному ресурсу по протоколу http (https), и возвращает ответ сервера в виде объекта, реализующего интерфейс IBinaryData. Параметр Host определяет http-сервер, параметр Url - Url, к которому будет происходить обращение. Параметры UserName и Password определяют имя пользователя и пароль, если http-сервер требует авторизовать пользователя. Параметр NegotiateAuth устанавливает режим аутентификации. (Basic или Negotiate). Параметры PostData, PostContentType и PostDataIsBinary определяют содержимое тела POST-запроса (если не определено, функция отправит GET-запрос). Параметр CanCache позволяет использовать локальный кеш http-ответов. Параметр NewSession требует принудительного создания новой сессии при вызове функции. Параметр TimeOut определяет максимальное время ожидания ответа в секундах.
  • Функция createBinaryData создает пустой объект, реализующий интерфейс IBinaryData.
  • Функция BinaryToBitmap конвертирует переданный графический файл в формат BMP. Объекты во входном и выходном параметрах должны реализовывать интерфейс IBinaryData.
  • Функция editValues создает и показывает форму редактирования группы значений. Параметр ValuesList содержит идентификатор объекта класса TObjectList. Этот список содержит ссылки на редактируемые значения (объекты класса TTypedValue), и командные кнопки формы (объекты класса TTypedValueButton). Параметр Title определяет заголовок формы, параметр UseTabs определяет, будут ли показаны закладки на форме редактирования. Параметр HideOKButton позволяет скрыть кнопку "OK" на показываемой форме. Параметр ScriptPart определяет скрипт показываемой формы.

      LValue1 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value1", "Первый параметр", Null, Null, _
    "TLongString", Null, Null, Null, Null, Null, "Значение по  умолчанию первого параметра"))
  LValue2 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value2", "Второй параметр", Null, Null, _
    "TLongString", Null, Null, Null, Null, Null, "Значение по  умолчанию второго параметра"))

  LValues = executeMethod("TObjectList", "CreateFromString", _
    LValue1 & ";" & LValue2)

  if editValues(LValues, "Введите два строковых значения, друзья", True, False, "") then
    MsgBox getPropValue("TTypedValue", "StrValue", LValue1) & _
      " " & _
      getPropValue("TTypedValue", "StrValue", LValue2)
  end if

  executeMethod "TObject", "Destroy", LValues
  executeMethod "TObject", "Destroy", LValue1
  executeMethod "TObject", "Destroy", LValue2

      LScriptPart =  "Buttons(""NextButton"").Enabled = ParentForm.NavigatorCanNext" & Chr(10) & _
    "Buttons(""PrevButton"").Enabled = ParentForm.NavigatorCanPrevious"

  LValue1 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value1", "Первый параметр", Null, Null, "TLongString", Null, Null, Null, Null, Null, _
    "Значение по  умолчанию первого параметра"))
  LValue2 = executeMethod ("TTypedValue", "CreateStrValue", _
    Array("Value2", "Второй параметр", Null, Null, "TLongString", Null, Null, Null, Null, Null, _
    "Значение по  умолчанию второго параметра"))

  LNextButton = executeMethod ("TTypedValueButton", "Create", Array("NextButton", "Вперед!", _
    Null, Null, Null, Null, 0, Null, Null, _
    "ParentForm.NavigatorNext"  & Chr(10) & LScriptPart, enumerationItem("scPublic"), 1, Null))

  LPrevButton = executeMethod ("TTypedValueButton", "Create", Array("PrevButton", "Назад!", _
    Null, Null, Null, Null, 1, Null, Null, _
    "ParentForm.NavigatorPrevious" & Chr(10) & LScriptPart, enumerationItem("scPublic"), 1, Null))

  LValues = executeMethod("TObjectList", "CreateFromString", _
    LValue1 & ";" & LValue2 & ";" & LNextButton & ";" & LPrevButton)

  if editValues(LValues, "Введите два строковых значения, друзья", True, True, LScriptPart) then
    MsgBox getPropValue("TTypedValue", "StrValue", LValue1) & _
      " " & _
      getPropValue("TTypedValue", "StrValue", LValue2)
  end if

  executeMethod "TObject", "Destroy", LValues
  executeMethod "TObject", "Destroy", LValue1
  executeMethod "TObject", "Destroy", LValue2
  executeMethod "TObject", "Destroy", LNextButton
  executeMethod "TObject", "Destroy", LPrevButton

  • Функции MsgBox и ShowMsgBox (это синонимы одной точки входа) полностью аналогичны функции Basic MsgBox по поведению и набору параметров.
  • Функция buildNamedFile формирует значение типа "Именованный файл" на основе объекта, реализующего интерфейс IBinaryData (параметр Data) и информации об имени и параметрах именованного файла.
  • Процедура parseNamedFile разбирает значение типа "Именованный файл". Выходной параметр FileName будет содержать сохраненное имя файла, выходной параметр Data - объект, реализующего интерфейс IBinaryData и содержащий данные именованного файла.
  • Свойство ContextObject позволяет получить ссылку на этот же самый контекстный объект.
  • Свойство UserName позволяет получить логин текущего пользователя.
  • Свойство NegotiateAuth позволяет получить признак доменной аутентификации пользователя.
  • Свойство Language позволяет получать и устанавливать текущий языковой контекст, в котором будут выполняться обращения к БД. Значение свойства либо пустая строка (используется язык БД по умолчанию), либо имя объекта класса TLanguage
  • Свойство Variable позволяет сохранять и получать произвольные значения, которые могут хранится постоянно (в реестре) или только в текущем сеансе, в зависимости от параметра Persistent.
    'сохранить на время текущего сеанса значение в переменную с именем SameVariableName
Variable("SameVariableName", False) = "Value"

'получить значение переменной с именем SameVariableName хранимой в текущем сеансе
LValue = Variable("SameVariableName", False)
  • Процедура showView осуществляет показ в модальном окне представления с именем ViewName. С помощью параметров DetailPropertyName и Key можно наложить на представление дополнительное условие отбора.

5.9.3.2. Интерфейс IContextDataSet
  IContextDataSet = interface(IDispatch)
    ['{466F3AF7-F899-4BC1-869D-1B17DCB86159}']
    procedure AddQueryItem(Part: TQueryPart; const Name: WideString;
      Value: OleVariant; Special: TQuerySpecial; Context: OleVariant);
    function Eof: WordBool;
    function Field(const Name: WideString): OleVariant;
    function FieldCount: Integer;
    function FieldName(Index: Integer): WideString;
    procedure Next;
  end;

Интерфейс предоставляет возможности формирования и выполнения запросов к базе данных с целью получения свойств объектов определенного класса, предоставляет доступ к объекту набора данных. Работа с объектом, реализующим интерфейс IContextDataSet заключается в формировании структуры набора данных и последующих обращениях к ним.

  • Процедура AddQueryItem добавляет элемент набора данных. Элементы могут добавляться в любом порядке до первого обращения к данным набора. Символические имена всех предопределенных для параметров этого метода констант являются членами интерфейса IConstants.
    • часть запроса определяется параметром Part, который может принимать одно из следующих предопределенных значений:
      Символическое имя | Числовое значение | Описание
      qpWhat | 0 | Добавляет поле (столбец), определяемое параметром Name, к результирующему набору данных. Параметр Value игнорируется.
      qpWhere | 1 | Определяет условие, налагаемое на свойства объектов класса, передаваемое остальными параметрами.
      qpOrder | 2 | Определяет порядок сортировки записей результирующего набора данных. Параметр Value игнорируется.
      qpGroup | 3 | Определяет, что записи результирующего набора данных будут сгруппированы по столбцу, переданному в параметре Name. Параметры Value и Special игнорируются.
    • параметр Name должен быть именем свойства класса, на котором основан набор данных, либо зарезервированным словом "ID" (без кавычек).
    • параметр Value (необязательный) определяет условия отбора, накладываемые на свойство, заданное параметром Name. Имеет смысл только если значение параметра Part равно qpWhere. Условие задается посредством строки, интерпретируемой следующим образом:
      • строка разделяется на части посредством системного разделителя
      • каждая часть интерпретируется самостоятельно, и эти части объединяются логическим "ИЛИ"
      • при интерпретации каждой части проверяются следующие условия:
        * проверка значения на непустоту (IS NOT NULL)
        !* проверка значения на пустоту (IS NULL)
        начинается с символов
        '<=', '<', '>=', '>'         		проверка соответствующего отношения между значением свойства, переданного параметром Name и оставшейся частью строки
        включает в себя символы '*' и/или '?' | проверка соответствия значения шаблону, в котором знак '?' соответствует одному любому символу, а знак '*' - любому количеству любых символов
        начинается с символа '!' | символ '!' означает отрицание условия, переданного оставшейся частью строки
        представляет собой строку в апострофах (одиночных кавычках) | содержание строки не анализируется по приведенным выше условиям
        любая другая строка | проверка равенства значения свойства, переданного параметром Name значению, переданному строкой
    • параметр Special (необязательный) обеспечивает дополнительное поведение набора данных (если параметр Special используется, необходимо использовать и параметр Value, можно передавать пустую строку):
      Символическое имя | Числовое значение | Описание
      qsNone | 0 | Параметр не используется. Значение по умолчанию.
      qsDescending | 7 | Используется при значении qpOrder параметра Part. В этом случае производится сортировка по убыванию.
      qsCount | 8 | Используется при значении qpWhat параметра Part. Определяют тип агрегации по свойству, заданному параметром Name.
      qsSum | 9
      qsMin | 10
      qsMax | 11
      qsAverage | 12
      qsFunction | 22 | Используется для включения в запрос вызова функции. Используется при значении qpWhat параметра Part.
    • параметр Context (необязательный) определяет дополнительные параметры элемента запроса.
    'включить в набор данных свойство Name
LDataSet.AddQueryItem 0, "Name"
'включить в набор данных среднее значение цены
LDataSet.AddQueryItem 0, "Price", "", 12
'включить в набор данных идентификатор объекта
LDataSet.AddQueryItem 0, "ID"
'включить в набор данных вызов функции. В поле IsCompany будет значение True, если объект является организацией
LDataSet.AddQueryItem 0, "IsCompany", "TObject.IsInstanceOf", 22, Array(getClass("TCompany"))
'наложить на набор данных условие
LDataSet.AddQueryItem 1, "Organization", "фирма Елочка"

    LDataSet.AddQueryItem 0, "Organization"              '(1)
LDataSet.AddQueryItem 0, "SalesCount", "", "9"       '(2)
LDataSet.AddQueryItem 1, "SaleDate", ">10.09.2005"   '(3)
LDataSet.AddQueryItem 2, "Organization"              '(4)
LDataSet.AddQueryItem 3, "Organization"              '(5)
    Производится отбор из класса, описывающего число продаж некоего продукта различными организациями. При этом в набор данных включаются колонки "Organization" (строка 1) и "SalesCount" (строка 2). При этом будет произведена группировка по свойству "Organization" (строка 5) (что гарантирует вхождение каждой организации в результирующий набор данных не более одного раза). Набор данных будет отсортирован по организации (строка 4). При этом в колонке "SalesCount" будет сумма (строка 2) всех продаж, осуществленных каждой организацией после 10.09.2005 (строка 3).
  • Функция FieldCount возвращает количество полей (столбцов) набора данных.
  • Функция FieldName возвращает имя поля (столбца) с номером, переданным в параметре Index.
  • Функция Field возвращает значение, содержащееся в поле с именем или индексом, заданным параметром Name (строкового типа) текущей записи набора данных. При первом обращении к набору данных текущей является первая запись. Если параметр определяет номер, то поиск поля производится по номеру. Если имя, то по имени.
  • Процедура Next осуществляет переход к следующей записи набора данных.
  • Функция Eof возвращает False, если текущая запись набора данных существует; в случаях, если набор данных пустой, или при помощи метода Next достигнут конец набора данных, возвращает True.
    If LDataSet.Eof then
  'набор данных пуст. Ничего не отобрано.
Else
  While Not LDataSet.Eof
    'работа с очередной отобранной записью
    Cells(LRow, 1).Value = LDataSet.Field("Name")
    Cells(LRow, 2).Value = LDataSet.Field("Description")
    Cells(LRow, 2).Value = LDataSet.Field("Count")
    'переход к следующей записи
    LDataSet.Next
    LRow = LRow + 1
  Wend
End If

5.9.3.3. Интерфейс IConstants
  IConstants = interface(IDispatch)
    ['{7E7B2D66-5E7C-496A-AE06-EFC485007500}']
    property qpWhat: Integer;
    property qpWhere: Integer;
    property qpOrder: Integer;
    property qpGroup: Integer;
    property qpHaving: Integer;
    property qsNone: Integer;
    property qsObjectID: Integer;
    property qsParentID: Integer;
    property qsHasChildren: Integer;
    property qsFilterCondition: Integer;
    property qsUplink: Integer;
    property qsRootOnly: Integer;
    property qsDescending: Integer;
    property qsCount: Integer;
    property qsSum: Integer;
    property qsMin: Integer;
    property qsMax: Integer;
    property qsAverage: Integer;
    property qsMasterLink: Integer;
    property qsSelectedOnly: Integer;
  end;

Интерфейс предоставляет символические имена констант, необходимых для работы с объектом, реализующим интерфейс IContextDataSet.

Свойство | Значение
qpWhat | 0
qpWhere | 1
qpOrder | 2
qpGroup | 3
qpHaving | 4
qsNone | 0
qsObjectID | 1
qsParentID | 2
qsHasChildren | 3
qsFilterCondition | 4
qsUplink | 5
qsRootOnly | 6
qsDescending | 7
qsCount | 8
qsSum | 9
qsMin | 10
qsMax | 11
qsAverage | 12
qsMasterLink | 13
qsSelectedOnly | 14

5.9.3.4. Интерфейс IFormContext
  IFormContext = interface(IDispatch)
    ['{1944F1C8-CAEA-4CF9-9A4D-CE3423508FF7}']
    function ChangedControl: OleVariant;
    function ControlCount: Integer;
    function ButtonCount: Integer;
    function ID: WideString;
    procedure Cancel;
    function ControlExists(const Name: WideString): WordBool;
    function ChangedControlName: WideString;
    function ParentForm: OleVariant;
    function RoutineID: WideString;
    procedure PreInitControl(const Name: WideString; Value: OleVariant);
    procedure NavigatorNext;
    procedure NavigatorPrevious;
    function NavigatorCanNext: WordBool;
    function NavigatorCanPrevious: WordBool;
    procedure RefreshView(RefreshAll: WordBool);
    function ExpressionContextValue(const Name: WideString): OleVariant; safecall;
    property Controls[Name: OleVariant]: IControl;
    property Buttons[Name: OleVariant]: IButton;
    property Enabled: WordBool;
  end;

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

  • Функция ChangedControl возвращает объект, реализующий интерфейс IControl, соответствующий элементу управления, изменение которого вызвало исполнение скрипта формы параметров. Если выполнение скрипта вызвано инициализацией формы задания параметров, то значение функции - Empty. Пустоту значения можно проверить с помощью функции VBScript IsEmpty.
  • Функция ControlCount возвращает число элементов управления на форме параметров, как видимых так и невидимых.
  • Функция ButtonCount возвращает число командных кнопок на форме параметров, как видимых так и невидимых.
  • Функция ID возвращает значение идентификатора объекта, для которого вызван метод. Для методов класса возвращает пустое значение.
  • Функция ControlExists возвращает True, если элемент управления с именем Name существует на форме, и, соответственно, существует соответствующий параметр.
  • Функция ChangedControlName возвращает имя элемента управления, изменение которого вызвало исполнение скрипта формы параметров. Если выполнение скрипта вызвано инициализацией формы задания параметров, то значение функции - пустая строка.
  • Процедура Cancel прекращет работу формы задания параметров. Форма закрывается, выполнение действия блокируется.
  • Функция ParentForm возвращает ссылку на контекст родительской формы в цепочке вызовов. В контексте первой формы (вызванной с грида немодальной формы) возвращает пустое значение (Empty). Пустоту значения можно проверить с помощью функции VBScript IsEmpty.
  • Функция RoutineID возвращает идентификатор подпрограммы, для которой вызвана форма.
  • Процедура PreInitControl имитирует предварительную инициализацию элемента управления с именем Name значением, переданным в параметре Value. Сам элемент управления при этом будет скрыт, и не будет показан вплоть до следующего вызова формы пользователем.
  • Процедура NavigatorNext выполняет переход к следующему объекту набора данных, для которого показывается форма параметров.
  • Процедура NavigatorPrevious выполняет переход к предыдущему объекту набора данных, для которого показывается форма параметров.
  • Функция NavigatorCanNext возвращает True, если возможен переход к следующему объекту набора данных, для которого показывается форма параметров.
  • Функция NavigatorCanPrevious возвращает True, если возможен переход к предыдущему объекту набора данных, для которого показывается форма параметров.
  • Процедура RefreshView обновляет набор данных, для которого показывается форма параметров. Если значение параметра RefreshAll равно True, то будет обновлен весь набор, если False, то только выделенные записи.
  • Свойство Controls позволяет обращаться к элементам управления на форме задания параметров, их свойствам и методам. Каждый элемент управления реализует интерфейс IControl. В параметре Name (строкового типа)может быть передано как имя элемента управления, так и его индекс (в этом случае индекс должен быть передан как строка). Имена элементов управления на форме параметров соответствуют именам параметров подпрограммы (метода, отчета, etc).
  • Свойство Buttons позволяет обращаться к командным кнопкам на форме задания параметров, их свойствам и методам. Каждая командная кнопка реализует интерфейс IButton. В параметре Name (строкового типа)может быть передано как имя командной кнопки, так и ее индекс (в этом случае индекс должен быть передан как строка).
  • Свойство Enabled позволяет получать и устанавливать доступность кнопки OK на форме задания параметров. Если на форме есть невалидные (имеющие недопустимые значения) элементы управления, значение свойства всегда равно False и устанавливать его в явном виде в True не рекомендуется. Для учета дополнительного условия рекомендуется использовать следующую конструкцию: Enabled = Enabled and (Controls("SalesCount").Value > 10)
  • Функция ExpressionContextValue возвращает значение переменной контекста с именем Name, которая используется для интeрпретации выражений условий отбора на форме.

5.9.3.5. Интерфейс IControl
  IControl = interface(IDispatch)
    ['{0662001F-D3D5-4F28-98AC-9B499F70E856}']
    function Name: WideString;
    procedure SetHint(const Value: WideString);
    procedure RefreshLinkedView;
    property Value: OleVariant;
    property ReadOnly: WordBool;
    property IsValid: WordBool;
    property IsEmpty: WordBool;
  end;

Моделирует элемент управления на форме задания параметров. Позволяет управлять поведением элементов управления на форме.

  • Функция Name возвращает имя элемента управления; имена элементов управления всегда совпадают с именамим соответствующих параметров подпрограммы.
  • Процедура SetHint устанавливает текст всплывающей подсказки элемента управления. Всплывыющая подсказка показывается только если значение элемента управления недопустимо (свойство IsValid равно False).
  • Процедура RefreshLinkedView обновит связанное с элементом управления представление.
  • Свойство Value позволяет получать и устанавливать значение, введенное в элемент управления.
  • Свойство ReadOnly позволяет получать и устанавливать доступность элемента управления для записи; при значении True элемент управления не доступен для записи и отображается неактивным.
  • Свойство IsValid позволяет получать и устанавливать "валидность" элемента управления; по умолчанию валидным элемент управления является в том случае, если введенное в него значение соответствует домену соответствующего параметра подпрограммы с учетом наложенного на него условия отбора.
  • Свойство IsEmpty имеет значение True в случае, если в элемент управления не введено никакого значения (элемент управления пустой), в противном случае имеет значение False.

5.9.3.6. Интерфейс IButton
  IButton = interface(IDispatch)
    ['{1618406F-B9F1-4C5F-BC35-C2A154837CA9}']
    function Name: WideString; safecall;
    procedure Click; safecall;
    property Enabled: WordBool;
  end;

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

  • Функция Name возвращает имя кнопки.
  • Процедура Click эмулирует нажатие на кнопку.
  • Свойство Enabled позволяет получать и устанавливать доступность кнопки.

5.9.3.7. Интерфейс IBinaryData
  IBinaryData = interface(IDispatch)
    ['{8A9F7CB3-230A-4048-B938-852CBF6ADB2D}']
    procedure Load(const Src: OleVariant);
    procedure Append(const Src: OleVariant);
    procedure Save(const Dst: OleVariant);
    function Size: Cardinal;
    function ToString(Encoding: WideString): WideString;
    procedure FromString(Data: OleVariant);
    procedure AppendString(Data: OleVariant);
    function ToBase64: WideString;
    procedure FromBase64(Data: OleVariant);

Представляет набор двоичных данных.

  • Процедура Load загружает двоичные данные из переданного источника. Источник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Процедура Append добавляет двоичные данные из переданного источника. Источник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Процедура Save сохраняет двоичные данные в переданный приемник. Приемник может быть
    • Объектом, реализующим интерфейс IStream
    • Объектом, реализующим интерфейс ISequentialStream
    • Строкой, содержащей имя файла
  • Функция ToString переводит данные в строку. Байты, содержашиеся в объекте, будут рассматриваться как содержащие строку в кодировке, заданной параметром Encoding. По умолчанию используется кодировка UTF-8
  • Процедура FromString загружает данные из строки, переданной в параметре Data, перекодировав ее в кодировку UTF-8
  • Процедура AppendString добавляет данные из строки, переданной в параметре Data, перекодировав ее в кодировку UTF-8
  • Функция ToBase64 возвращает строку, полученную путем кодирования в формат Base64, данных содержащихся в объекте
  • Процедура FromBase64 загружает данные из строки, переданной в параметре Data, раскодировав ее из формата Base64

5.9.3.8. Интерфейс IContextExpressionInfo
  IContextExpressionInfo = interface(IUnknown)
    ['{C7518427-B515-4EB4-B698-88656E6CBF7C}']
    function Count: Integer;
    function ItemName(Index: Integer): WideString;
    function ItemValue(Index: Integer): OleVariant;
    function ItemDomain(Index: Integer): OleVariant;
  end;

Через реализацию этого интерфейса передаются значения контекстных переменных при обращении к функции selectValue интерфейса IContext.

  • Функция Count возвращает количество используемых контекстных переменных. Нумерация контекстных переменных начинается с нуля.
  • Функция ItemName возвращает имя контекстной переменной c номером, переданным в параметре Index.
  • Функция ItemValue возвращает значение контекстной переменной c номером, переданным в параметре Index.
  • Функция ItemDomain возвращает имя домена контекстной переменной c номером, переданным в параметре Index.

5.9.3.9. Интерфейс IExceptionHandler
  IExceptionHandler = interface(IDispatch)
    ['{3C3C7202-5ED5-4EB4-9CDD-A929C18CA8BD}']
    procedure HandleException(ContextObject: OleVariant;
      const Message: WideString;
      const ExtentedInfo: WideString);
  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 (Конструктор доступного файла)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
FileData (Данные файла) | TFileContent (Содержимое файлов) |  | Доступен |

Конструирует объект класса TAccessibleFile (Доступный файл) .

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 создаются на месте родительских пунктов контекстного меню, раскрывающихся, содержащих Стрелка раскрытия контекстного меню. Несмотря на то, что класс не является абстратным в строгом смылсле этого слова, ни одного объекта этого класса в системных метаданных нет в силу простоты структуры контекстного меню системных представлений. Разработчик решений не ограничен в создании и использовании объектов этого класса. Никаких общих рекомендаций тут быть не может, единственное, что можно утверждать - что контекстное меню должно быть удобным и в достижении этой цели можно организовывать требуемую иерархическую структуру.

Иерархия объектов класса TAction
На основе иерархии действий, показанной на рисунке (в таблице отображен фактический класс каждого объекта) построено следующее контекстное меню:
Контекстное меню, построенное на основе иерархии объектов класса TAction

5.9.4.57.1. Конструктор TAction.Create (Конструктор действия)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) |  | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TAction (Действия) .

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 (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен | Master (Мастер)
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Возвращает значение типа Integer (Целое).

Используется для инициализации значения параметра Position (Позиция) метода TAction.Create (Конструктор действия). Вычисляет следующую позицию добавляемого действия.

5.9.4.58. Класс TBanGroup (Группы запретов)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TBanGroupAccess (Доступ к группам запретов)
  • TBanGroupItem (Элементы группы запретов)
  • TClassBan (Запрет на класс)
  • TRoutineBan (Запрет на подпрограмму)
  • TPropertyBan (Запрет на свойство)

Объекты класса определяют группы запретов. Запреты на классы, свойства и подпрограммы объединяются разработчиком в функциональные группы, являющиеся группами запретов. В дальнейшем эти группы ассоциируются с конкретными ролями безопасности.

5.9.4.58.1. Конструктор TBanGroup.Create (Конструктор группы запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TBanGroup (Группы запретов) .

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 (Конструктор доступа к группе запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Группа запретов) | TBanGroup domain (Группа запретов) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TBanGroupAccess (Доступ к группам запретов) .

5.9.4.60. Класс TBanGroupItem (Элементы группы запретов)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

5.9.4.60.1. Конструктор TBanGroupItem.Create (Конструктор элемента группы запретов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TBanGroupItem (Элементы группы запретов) .

5.9.4.61. Класс TBlobDomain (Большие объекты)
Унаследован от класса TDomain (Домены) .

5.9.4.61.1. Конструктор TBlobDomain.Create (Конструктор домена больших объектов)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
BlobSubtype (Подтип) | TBlobSubtype (Подтип) |  | Доступен |
Extension (Расширение) | TFileExtension (Расширение имени файла) |  | Доступен |

Конструирует объект класса TBlobDomain (Большие объекты) .

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 (Конструктор логического домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
TrueValue (Значение "Истина") | TObjectName (Имена) |  | Доступен |
FalseValue (Значение "Ложь") | TObjectName (Имена) |  | Доступен |

Конструирует объект класса TBooleanDomain (Логические) .

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 (Объекты) . Объекты класса связаны иерархически. Объекты могут включать в себя объекты классов:
  • TClassMember (Члены класса)
  • TField (Поля)
  • TProperty (Свойства)
  • TMethod (Методы)
  • TXSLTTemplate (Шаблоны отчетов XSLT)
  • TExcelTemplate (Шаблоны отчетов Excel)
  • TRoutine (Подпрограмма)
  • TOleObjectMethod (Метод Ole-объекта)
  • TInlineExpression (Встраиваемое выражение)
  • TWordTemplate (Шаблоны отчетов Word)

5.9.4.63.1. Конструктор TClass.Create (Конструктор класса)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsHierarhical (Является иерархическим) | Boolean (Обычное логическое) |  | Доступен |
MasterClass (Класс-мастер) | TClass domain (Класс) |  | Доступен |
ReplicationStatus (Статус репликации) | TReplicationStatus (Статус репликации) |  | Доступен |
SecurityModel (Модель безопасности) | TSecurityModel (Модели безопасности) |  | Доступен |
UnNamed (Неименованный) | Boolean (Обычное логическое) |  | Доступен |
NameExpression (Выражение имени объекта) | TInlineExpressionText (Текст выражения) |  | Доступен |
DescriptionExpression (Выражение наименования объекта) | TInlineExpressionText (Текст выражения) |  | Доступен |
CreateConstructor (Создать конструктор) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TClass (Классы) .

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 (Класс) .

Используется для хранения значений свойств:
TClass.MasterClass (Класс-мастер)
TView.ShownClassMasterClass (Класс-мастер показываемого)
.

5.9.4.63.5. Поле TClass.FNameExpression (Выражение имени объекта)
FNameExpression: TInlineExpressionText (Текст выражения) .

Используется для хранения значений свойства TClass.NameExpression (Выражение имени объекта)
.

5.9.4.63.6. Поле TClass.FReplicationStatus (Статус репликации)
FReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Используется для хранения значений свойств:
TClass.ReplicationStatus (Статус репликации)
TObject.ReplicationStatus (Статус репликации)
TView.ShownClassReplicationStatus (Статус репликации класса)
.

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 (Список видимых свойств)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

Возвращает значение типа TList domain (Список объектов) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

5.9.4.63.18. Функция TClass.ListRoutines (Список видимых подпрограмм)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

Возвращает значение типа TList domain (Список объектов) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |

5.9.4.63.19. Шаблон отчета XSLT TClass.ClassesDiagram (Диаграмма классов)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ShowFields (Показывать поля) | Boolean (Обычное логическое) |  | Доступен |
ShowMethods (Показывать методы) | Boolean (Обычное логическое) |  | Доступен |
ShowProperties (Показывать свойства) | Boolean (Обычное логическое) |  | Доступен |
ShowParameters (Показывать параметры) | Boolean (Обычное логическое) |  | Доступен |
ShowMetadata (Показывать метаданные) | Boolean (Обычное логическое) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ShowFields (Показывать поля) | Boolean (Обычное логическое) |  | Доступен |
ShowMethods (Показывать методы) | Boolean (Обычное логическое) |  | Доступен |
ShowProperties (Показывать свойства) | Boolean (Обычное логическое) |  | Доступен |
ShowParameters (Показывать параметры) | Boolean (Обычное логическое) |  | Доступен |
ShowMetadata (Показывать метаданные) | Boolean (Обычное логическое) |  | Доступен |

5.9.4.64. Класс TClassBan (Запрет на класс)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

5.9.4.64.1. Конструктор TClassBan.Create (Конструктор запрета на класс)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |

Конструирует объект класса TClassBan (Запрет на класс) .

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 (Конструктор домена-ссылки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
ClassOfDomain (Класс домена) | TClass required domain (Класс (обязательно)) |  | Доступен |
View (Представление для выбора) | TView of ClassDomain domain (Представление) |  | Доступен |
FilterCondition (Условие отбора) | TFilterCondition (Условие отбора) |  | Доступен |
ShowObjectInfoType (Тип представления объектов) | TShowObjectInfoType (Тип представления объектов) |  | Доступен |
DeleteRule (Правило удаления) | TDeleteRule (Правило удаления) |  | Доступен |

Конструирует объект класса TClassDomain (Ссылки на объекты) .

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 (Конструктор базы данных)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
GUID (GUID) | TGUID (Уникальные идентификаторы) |  | Доступен |
Protected (Защищена) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TDataBase (Базы данных) .

5.9.4.68.2. Поле TDataBase.FGUID (Идентификатор)
FGUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDataBase.GUID (Идентификатор)
TObject.SourceDataBaseGUID (GUID базы даных-источника)
.

5.9.4.68.3. Поле TDataBase.FIsCurrent (Является текущей)
FIsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDataBase.IsCurrent (Является текущей)
TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
.

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 (Конструктор домена даты)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TDateDomain (Даты) .

5.9.4.70. Класс TDateTimeDomain (Даты со временем)
Унаследован от класса TDomain (Домены) .

5.9.4.70.1. Конструктор TDateTimeDomain.Create (Конструктор домена даты со временем)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TDateTimeDomain (Даты со временем) .

5.9.4.71. Класс TDomain (Домены)
Унаследован от класса TObject (Объекты) .

5.9.4.71.1. Встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей)
GetDependencyCount: Integer (Целое) .

Текст выражения:

count(TField with Domain = Self) +
count(TProperty with Domain = Self) +
count(TRoutine with Domain = Self) +
count(TParameter with Domain = Self) +
count(TOption with Domain = Self)

Используется для вычисления значений свойства TDomain.DependencyCount (Количество зависимостей)
.

5.9.4.71.2. Конструктор TDomain.Create (Конструктор домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TDomain (Домены) .

5.9.4.71.3. Поле TDomain.FRequired (Обязательно для заполнения)
FRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TDomain.Required (Обязательно для заполнения)
TField.DomainRequired (Обязательно для заполнения)
TInlineExpression.DomainRequired (Обязательно для заполнения)
TProperty.DomainRequired (Обязательно для заполнения)
TParameter.DomainRequired (Обязательно для заполнения)
TOption.DomainRequired (Обязательно для заполнения)
.

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 (Домены) . Объекты могут включать в себя объекты классов:
  • TEnumerationItem (Элементы перечислений)

5.9.4.72.1. Конструктор TEnumerationDomain.Create (Конструктор перечисления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
ShowNames (Показывать имена элементов) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TEnumerationDomain (Перечисления) .

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 (Конструктор элемента перечисления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)

Конструирует объект класса TEnumerationItem (Элементы перечислений) .

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 (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TEnumerationItem.Create (Конструктор элемента перечисления)
.

5.9.4.74. Класс TExcelTemplate (Шаблоны отчетов Excel)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

5.9.4.74.1. Конструктор TExcelTemplate.Create (Конструктор шаблона Excel)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TExcelTemplateData (Данные Excel-шаблона) |  | Доступен |
PlaceDataOnSheet (Лист для переноса данных) | TExcelSheetKind (Тип листа Excel) |  | Доступен |
MacroName (Имя макроса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TExcelTemplate (Шаблоны отчетов 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 (Конструктор поля)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
CreateProperty (Создать свойство) | Boolean (Обычное логическое) |  | Доступен |
CreateConstructorParameter (Создать параметр конструктора) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TField (Поля) .

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 (Конструктор имени файла)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) | Унаследован | Доступен |
FileMustExist (Файл должен существовать) | Boolean (Обычное логическое) |  | Доступен |
DefaultExtension (Расширение по умолчанию) | TFileExtension (Расширение имени файла) |  | Доступен |
OverwritePrompt (Запрос перезаписи) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TFileNameDomain (Имена файлов) .

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 (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

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 (Конструктор вещественного домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Длина) | TPrescision (Точность) |  | Доступен |
DecimalPlaces (Количество десятичных знаков) | TPrescision (Точность) |  | Доступен |
MinValue (Минимальное значение) | Float (Вещественное) |  | Доступен |
MaxValue (Максимальное значение) | Float (Вещественное) |  | Доступен |

Конструирует объект класса TFloatDomain (Вещественные числа) .

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 (Конструктор имени папки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) | Унаследован | Доступен |
FolderMustExist (Папка должна существовать) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TFolderNameDomain (Имена папок файловой системы) .

5.9.4.78.2. Поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать)
FFolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TFolderNameDomain.FolderMustExist (Папка должна существовать)
.

5.9.4.78.3. Процедура TFolderNameDomain.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

5.9.4.78.4. Свойство TFolderNameDomain.FolderMustExist (Папка должна существовать)
FolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать) .

5.9.4.79. Класс TForm (Формы)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TFormAccess (Доступ к формам)
  • TFormView (Представления формы)

5.9.4.79.1. Конструктор TForm.Create (Конструктор формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
AutoOpen (Открывать автоматически) | Boolean (Обычное логическое) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Image (Изображение-иконка) | TImage (Изображение) |  | Доступен |
IsAlive ("Живая") | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TForm (Формы) .

5.9.4.79.2. Поле TForm.FAutoOpen (Открывать автоматически)
FAutoOpen: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TForm.AutoOpen (Открывать автоматически)
.

5.9.4.79.3. Поле TForm.FImage (Изображеие-иконка)
FImage: TImage (Изображение) .

Используется для хранения значений свойств:
TForm.Image (Изображение-иконка)
TVisualGroupForm.Image (Изображение)
.

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 (Обычное логическое) .

Используется для вычисления значений свойств:
TForm.IsAccessible (Доступна)
TInstantMessage.IsAccessible (Форма доступна)
.

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 (Конструктор доступа к форме)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Форма) | TForm required domain (Форма (обязательно)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TFormAccess (Доступ к формам) .

5.9.4.81. Класс TFormView (Представления формы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TForm (Формы) .

5.9.4.81.1. Конструктор TFormView.Create (Конструктор представления формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
View (Представление) | TView of FormView domain (Представление для формы) |  | Доступен |
ChildrenMinimized (Дочерние представления минимизированы) | Boolean (Обычное логическое) |  | Доступен |
ChildrenOnTabs (Дочерние представления на закладках) | Boolean (Обычное логическое) |  | Доступен |
MasterProperty (Свойство-главное) | TMasterProperty domain (Свойство-главное) |  | Доступен |
DetailProperty (Свойство-подчиненное) | TDetailProperty domain (Свойство-подчиненное) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
SpacePercentage (Площадь, %) | Percent (Процент) |  | Доступен |

Конструирует объект класса TFormView (Представления формы) .

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 (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)

Используется для инициализации значения параметра Position (Позиция) подпрограммы TFormView.Create (Конструктор представления формы)
.

5.9.4.82. Класс TInlineExpression (Встраиваемое выражение)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) .

5.9.4.82.1. Конструктор TInlineExpression.Create (Конструктор встраиваемого выражения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Expression (Выражение) | TInlineExpressionText (Текст выражения) |  | Доступен |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |

Конструирует объект класса TInlineExpression (Встраиваемое выражение) .

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 (Конструктор сообщения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
User (Пользователь) | TUser required domain (Пользователь) |  | Доступен |
FormView (Представление формы) | TFormView domain (Представления форм) |  | Доступен |
Object (Объект) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TInstantMessage (Сообщения) .

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 (Конструктор целочисленного домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
MinValue (Минимальное значение) | Integer (Целое) |  | Доступен |
MaxValue (Максимальное значение) | Integer (Целое) |  | Доступен |

Конструирует объект класса TIntegerDomain (Целые числа) .

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 (Конструктор метода)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
Body (Тело) | TMethodBody (Исходные тексты методов) |  | Доступен |

Конструирует объект класса TMethod (Методы) .

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 (Конструктор объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) |  | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) |  | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) |  | Скрыт |

Конструирует объект класса TObject (Объекты) .

5.9.4.86.2. Поле TObject.FClass (Класс)
FClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Class (Класс)
TOption.DomainClass (Класс домена)
TField.DomainClass (Класс домена)
TInlineExpression.DomainClass (Класс домена)
TProperty.DomainClass (Класс домена)
TParameter.DomainClass (Класс домена)
.

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 (Наименования) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Description (Наименование)
TFormAccess.Description (Наименование)
TVisualGroupAccess.Description (Наименование)
TBanGroupAccess.Description (Наименование)
.

5.9.4.86.6. Поле TObject.FMaster (Мастер)
FMaster: TMaster field domain (Домен поля "Мастер") .

Используется для хранения значений свойств:
TObject.Master (Мастер)
TParameter.RoutineClass (Класс подпрограммы)
TOptionValue.Option (Настройка)
TInstantMessage.Form (Форма)
.

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 (Имена) (обязательно для заполнения) .

Используется для хранения значений свойств:
TObject.Name (Имя)
TFormAccess.Name (Имя)
TVisualGroupAccess.Name (Имя)
TBanGroupAccess.Name (Имя)
.

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 (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) |  | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) |  | Скрыт |

5.9.4.86.16. Процедура TObject.Destroy (Деструктор объекта)

5.9.4.86.17. Процедура TObject.MergeTo (Отождествить с)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
PrimaryObject (Первичный объект) | TMergedObject domain (Объект для отождествления) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
PrimaryObject (Первичный объект) | TMergedObject domain (Объект для отождествления) |  | Доступен |

5.9.4.86.18. Процедура TObject.SendMessage (Отправить сообщение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
MessageText (Текст сообщения) | TObjectDescription (Наименования) |  | Доступен |
Broadcast (Всем пользователям) | Boolean (Обычное логическое) |  | Доступен |
Addressee (Адресат) | TSecurityAccount domain (Роль безопасности) |  | Доступен |
AttachSelected (Присоединить выбранные объекты) | Boolean (Обычное логическое) |  | Доступен |
Selected (Список выбранных объектов) | TList domain (Список объектов) |  | Скрыт | CurrentlySelected (Список выбранных)
CurrentFormView (Текущее представление формы) | TFormView domain (Представления форм) |  | Скрыт | CurrentFormView (Текущее представление формы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
MessageText (Текст сообщения) | TObjectDescription (Наименования) |  | Доступен |
Broadcast (Всем пользователям) | Boolean (Обычное логическое) |  | Доступен |
Addressee (Адресат) | TSecurityAccount domain (Роль безопасности) |  | Доступен |
AttachSelected (Присоединить выбранные объекты) | Boolean (Обычное логическое) |  | Доступен |
Selected (Список выбранных объектов) | TList domain (Список объектов) |  | Скрыт | CurrentlySelected (Список выбранных)
CurrentFormView (Текущее представление формы) | TFormView domain (Представления форм) |  | Скрыт | CurrentFormView (Текущее представление формы)

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: TGUID (Уникальные идентификаторы) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FGUID (Идентификатор) .

Дочернее свойство свойства SourceDataBase (База данных-источник) .

5.9.4.86.49. Свойство TObject.SourceDataBaseIsCurrent (База данных-источник является текущей)
SourceDataBaseIsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется поле TDataBase.FIsCurrent (Является текущей) .

Дочернее свойство свойства SourceDataBase (База данных-источник) .

5.9.4.86.50. Свойство TObject.Writer (Роль для записи)
Writer: TAccessor domain (Роли доступа) .

Для чтения и записи свойства используется поле TObject.FWriter (Роль для записи) .

5.9.4.86.51. Функция TObject.ASCII (ASCII-код)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Char (Символ) |  | Скрыт |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Char (Символ) |  | Скрыт |

5.9.4.86.52. Функция TObject.Assigned (Проверка пустоты значения)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TObject domain (Объект) |  | Доступен |

5.9.4.86.53. Функция TObject.Char (Символ)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

Возвращает значение типа Char (Символ) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

5.9.4.86.54. Функция TObject.Copy (Копировать)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |
StartPos (Позиция) | Integer (Целое) |  | Доступен |
Length (Длина) | Integer (Целое) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |
StartPos (Позиция) | Integer (Целое) |  | Доступен |
Length (Длина) | Integer (Целое) |  | Доступен |

5.9.4.86.55. Функция TObject.DatePart (Часть даты)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

5.9.4.86.56. Функция TObject.DateTimePart (Часть даты со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp (Момент) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp (Момент) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

5.9.4.86.57. Функция TObject.DateTimeToStr (Дату и время в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp required (Момент (обязательный)) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TimeStamp required (Момент (обязательный)) |  | Доступен |

5.9.4.86.58. Функция TObject.DateToStr (Дату в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TDate (Дата) |  | Доступен |

5.9.4.86.59. Функция TObject.DependsOn (Зависит от)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
LeadingObject (Ведущий объект) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
LeadingObject (Ведущий объект) | TObject domain (Объект) |  | Доступен |

5.9.4.86.60. Функция TObject.Find (Поиск объекта)

5.9.4.86.61. Функция TObject.FloatToStr (Вещественное в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |

5.9.4.86.62. Функция TObject.GetLevel (Уровень в иерархии)

Возвращает значение типа TLength (Длина) .

5.9.4.86.63. Функция TObject.GetRoot (Получить корень иерархии)

Возвращает значение типа TObject domain (Объект) .

5.9.4.86.64. Функция TObject.HasAsChild (Объект является ребенком данного)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Child (Дочерний объект) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Child (Дочерний объект) | TObject domain (Объект) |  | Доступен |

5.9.4.86.65. Функция TObject.HasAsParent (Объект является родителем данного)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

5.9.4.86.66. Функция TObject.IfThenDate (Выбор из двух дат)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TDate (Дата) |  | Доступен |
AFalse (Значение при невыполнении условия) | TDate (Дата) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TDate (Дата) |  | Доступен |
AFalse (Значение при невыполнении условия) | TDate (Дата) |  | Доступен |

5.9.4.86.67. Функция TObject.IfThenDateTime (Выбор из двух дат со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TimeStamp (Момент) |  | Доступен |
AFalse (Значение при невыполнении условия) | TimeStamp (Момент) |  | Доступен |

Возвращает значение типа TimeStamp (Момент) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TimeStamp (Момент) |  | Доступен |
AFalse (Значение при невыполнении условия) | TimeStamp (Момент) |  | Доступен |

5.9.4.86.68. Функция TObject.IfThenFloat (Выбор из двух вещественных)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Float (Вещественное) |  | Доступен |
AFalse (Значение при невыполнении условия) | Float (Вещественное) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Float (Вещественное) |  | Доступен |
AFalse (Значение при невыполнении условия) | Float (Вещественное) |  | Доступен |

5.9.4.86.69. Функция TObject.IfThenInt (Выбор из двух целых)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Integer (Целое) |  | Доступен |
AFalse (Значение при невыполнении условия) | Integer (Целое) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | Integer (Целое) |  | Доступен |
AFalse (Значение при невыполнении условия) | Integer (Целое) |  | Доступен |

5.9.4.86.70. Функция TObject.IfThenObject (Выбор из двух объектов)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TObject domain (Объект) |  | Доступен |
AFalse (Значение при невыполнении условия) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TObject domain (Объект) |  | Доступен |
AFalse (Значение при невыполнении условия) | TObject domain (Объект) |  | Доступен |

5.9.4.86.71. Функция TObject.IfThenStr (Выбор из двух строк)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TLongString (Длинная строка) |  | Доступен |
AFalse (Значение при невыполнении условия) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TLongString (Длинная строка) |  | Доступен |
AFalse (Значение при невыполнении условия) | TLongString (Длинная строка) |  | Доступен |

5.9.4.86.72. Функция TObject.IfThenTime (Выбор из двух времен)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TTime (Время) |  | Доступен |
AFalse (Значение при невыполнении условия) | TTime (Время) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Boolean (Обычное логическое) |  | Доступен |
ATrue (Значение при выполнении условия) | TTime (Время) |  | Доступен |
AFalse (Значение при невыполнении условия) | TTime (Время) |  | Доступен |

5.9.4.86.73. Функция TObject.IntToStr (Целое в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Integer (Целое) |  | Доступен |

5.9.4.86.74. Функция TObject.IsInstanceOf (Является экземпляром класса)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Class (Класс) | TClass domain (Класс) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Class (Класс) | TClass domain (Класс) |  | Доступен |

5.9.4.86.75. Функция TObject.Round (Округление)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |
Decimals (Клоичество десятичных знаков) | Integer (Целое) |  | Скрыт |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Скрыт |
Decimals (Клоичество десятичных знаков) | Integer (Целое) |  | Скрыт |

5.9.4.86.76. Функция TObject.StrLength (Длина строки)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
String (Строка) | TLongString (Длинная строка) |  | Доступен |

5.9.4.86.77. Функция TObject.StrToDate (Строку в дату)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

5.9.4.86.78. Функция TObject.StrToDateTime (Строку в дату и время)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TimeStamp required (Момент (обязательный)) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

5.9.4.86.79. Функция TObject.StrToFloat (Строку в вещественное)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

5.9.4.86.80. Функция TObject.StrToInt (Строку в целое)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

5.9.4.86.81. Функция TObject.StrToTime (Строку во время)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TLongString (Длинная строка) |  | Доступен |

5.9.4.86.82. Функция TObject.TimePart (Часть времени)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Доступен |
Part (Часть) | TDateTimePart (Часть даты или времени) |  | Доступен |

5.9.4.86.83. Функция TObject.TimeToStr (Время в строку)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Скрыт |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | TTime (Время) |  | Скрыт |

5.9.4.86.84. Функция TObject.Trunc (Отсечение дробной части)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Value (Значение) | Float (Вещественное) |  | Доступен |

5.9.4.86.85. Функция TObject.UniqueValue (Уникальный идентификатор)
Является методом класса.

Возвращает значение типа TObjectName (Имена) .

5.9.4.86.86. Шаблон отчета Excel TObject.Excel (Пустой шаблон Excel)
Является методом класса.

5.9.4.86.87. Шаблон отчета XSLT TObject.ObjectInformation (Информация об объекте)

5.9.4.87. Класс TObjectList (Списки)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TObjectListItem (Элементы списков)

5.9.4.87.1. Конструктор TObjectList.Create (Конструктор списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TObjectList (Списки) .

5.9.4.87.2. Процедура TObjectList.Add (Добавить объект в список)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

5.9.4.87.3. Процедура TObjectList.Clear (Очистить список)

5.9.4.87.4. Процедура TObjectList.Delete (Удалить объект)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

5.9.4.87.5. Процедура TObjectList.Force (Добавить, игнорируя ограничения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

5.9.4.87.6. Процедура TObjectList.SetItem (Установить объект в списке)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

5.9.4.87.7. Функция TObjectList.ByName (Поиск по имени)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Доступен |

5.9.4.87.8. Функция TObjectList.GetItem (Получить объект из списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemIndex (Индекс) | TPosition (Позиция) |  | Доступен |

5.9.4.87.9. Функция TObjectList.IndexOf (Индек объекта в списке)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

5.9.4.87.10. Функция TObjectList.Length (Длина списка)

Возвращает значение типа Integer (Целое) .

5.9.4.88. Класс TObjectListItem (Элементы списков)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TObjectList (Списки) .

5.9.4.88.1. Конструктор TObjectListItem.Create (Конструктор элемента списка)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
ItemObject (Элемент) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TObjectListItem (Элементы списков) .

5.9.4.88.2. Поле TObjectListItem.FObject (Объект)
FObject: TObject domain (Объект) .

5.9.4.88.3. Поле TObjectListItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

5.9.4.89. Класс TOleObjectMethod (Метод Ole-объекта)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

5.9.4.89.1. Конструктор TOleObjectMethod.Create (Конструктор метода Ole-объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
CodeLibrary (Библиотека кода) | TCodeLibrary domain (Библиотека кода) |  | Доступен |
ClassID (Идентификатор класса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |
Method (Метод) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TOleObjectMethod (Метод Ole-объекта) .

5.9.4.89.2. Поле TOleObjectMethod.FClassID (Идентификатор класса)
FClassID: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TOleObjectMethod.ClassID (Идентификатор класса)
.

5.9.4.89.3. Поле TOleObjectMethod.FCodeLibrary (Библиотека кода)
FCodeLibrary: TCodeLibrary domain (Библиотека кода) .

Используется для хранения значений свойства TOleObjectMethod.CodeLibrary (Библиотека кода)
.

5.9.4.89.4. Поле TOleObjectMethod.FMethod (Имя метода)
FMethod: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TOleObjectMethod.Method (Метод)
.

5.9.4.89.5. Свойство TOleObjectMethod.ClassID (Идентификатор класса)
ClassID: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TOleObjectMethod.FClassID (Идентификатор класса) .

5.9.4.89.6. Свойство TOleObjectMethod.CodeLibrary (Библиотека кода)
CodeLibrary: TCodeLibrary domain (Библиотека кода) .

Для чтения и записи свойства используется поле TOleObjectMethod.FCodeLibrary (Библиотека кода) .

5.9.4.89.7. Свойство TOleObjectMethod.Method (Метод)
Method: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TOleObjectMethod.FMethod (Имя метода) .

5.9.4.90. Класс TOption (Настройки)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TOptionValue (Значения настроек)

5.9.4.90.1. Конструктор TOption.Create (Конструктор настройки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
Global (Глобальная) | Boolean (Обычное логическое) |  | Доступен |
Group (Заголовок группы) | TCaption (Заголовки) |  | Доступен |
Tab (Заголовок закладки) | TCaption (Заголовки) |  | Доступен |
Position (Позиция) | Integer (Целое) |  | Доступен | GetNextPos (Следующая позиция)

Конструирует объект класса TOption (Настройки) .

5.9.4.90.2. Поле TOption.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TOption.Domain (Домен)
TOptionValue.Domain (Домен)
.

5.9.4.90.3. Поле TOption.FGlobal (Глобальная)
FGlobal: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TOption.Global (Глобальная)
TOptionValue.Global (Глобальная)
.

5.9.4.90.4. Поле TOption.FGroup (Заголовок группы)
FGroup: TCaption (Заголовки) .

Используется для хранения значений свойства TOption.Group (Заголовок группы)
.

5.9.4.90.5. Поле TOption.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TOption.Position (Позиция)
.

5.9.4.90.6. Поле TOption.FTab (Заголовок закладки)
FTab: TCaption (Заголовки) .

Используется для хранения значений свойства TOption.Tab (Заголовок закладки)
.

5.9.4.90.7. Процедура TOption.SetValue (Установка значения)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) |  | Доступен |

5.9.4.90.8. Свойство TOption.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FDomain (Домен) .

5.9.4.90.9. Свойство TOption.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

5.9.4.90.10. Свойство TOption.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

5.9.4.90.11. Свойство TOption.Global (Глобальная)
Global: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FGlobal (Глобальная) .

5.9.4.90.12. Свойство TOption.Group (Заголовок группы)
Group: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TOption.FGroup (Заголовок группы) .

5.9.4.90.13. Свойство TOption.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FPosition (Позиция) .

5.9.4.90.14. Свойство TOption.Tab (Заголовок закладки)
Tab: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TOption.FTab (Заголовок закладки) .

5.9.4.90.15. Свойство TOption.User (Пользователь)
User: TUser domain (Пользователь) .

Для чтения и записи свойства используется поле TOptionValue.FUser (Пользователь) .

Дочернее свойство свойства Value (Значение) .

5.9.4.90.16. Свойство TOption.Value (Значение)
Value: TOptionValue domain (Значение настройки) . Вычисление свойства отложено.

Для чтения значения свойства используется функция TOption.GetValue (Значение) .

5.9.4.90.17. Свойство TOption.VisibleValue (Видимое значение)
VisibleValue: TLongString (Длинная строка) .

Для чтения значения свойства используется функция TOptionValue.GetVisibleValue (Видимое значение) .

Дочернее свойство свойства Value (Значение) .

5.9.4.90.18. Функция TOption.AreValid (Настройки действительны)
Является методом класса.

Возвращает значение типа Boolean (Обычное логическое) .

5.9.4.90.19. Функция TOption.GetBlobValue (Значение-большой объект)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TBinaryData (Двоичные данные) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

5.9.4.90.20. Функция TOption.GetBoolValue (Логическое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Boolean (Обычное логическое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

5.9.4.90.21. Функция TOption.GetDateTimeValue (Значение даты со временем)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TimeStamp (Момент) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

5.9.4.90.22. Функция TOption.GetDateValue (Значение даты)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TDate (Дата) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

5.9.4.90.23. Функция TOption.GetFloatValue (Вещественное значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Float (Вещественное) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

5.9.4.90.24. Функция TOption.GetIntValue (Целое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

5.9.4.90.25. Функция TOption.GetNextPos (Следующая позиция)
Является методом класса.

Возвращает значение типа Integer (Целое) .

Используется для инициализации значения параметра Position (Позиция) подпрограммы TOption.Create (Конструктор настройки)
.

5.9.4.90.26. Функция TOption.GetObjectValue (Значение-объект)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TObject domain (Объект) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

5.9.4.90.27. Функция TOption.GetStrValue (Строковое значение)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TLongString (Длинная строка) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

5.9.4.90.28. Функция TOption.GetTimeValue (Значение времени)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

Возвращает значение типа TTime (Время) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
OptionName (Имя настройки) | TObjectName (Имена) |  | Доступен |

5.9.4.90.29. Функция TOption.GetValue (Значение)

Возвращает значение типа TOptionValue domain (Значение настройки) .

Используется для вычисления значений свойства TOption.Value (Значение)
.

5.9.4.91. Класс TOptionValue (Значения настроек)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TOption (Настройки) .

5.9.4.91.1. Конструктор TOptionValue.Create (Конструктор значения настройки)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BoolValue (Логическое значение) | Non-required boolean (Необязательное логическое) |  | Доступен |
BlobValue (Значение-большой объект) | TBinaryData (Двоичные данные) |  | Доступен |
User (Пользователь) | TUser domain (Пользователь) |  | Доступен |
StrValue (Строковое значение) | TLongString (Длинная строка) |  | Доступен |
IntValue (Целое значение) | Integer (Целое) |  | Доступен |
FloatValue (Вещественное значение) | Float (Вещественное) |  | Доступен |
DateValue (Значение даты) | TDate (Дата) |  | Доступен |
TimeValue (Значение времени) | TTime (Время) |  | Доступен |
DateTimeValue (Значение даты со временем) | TimeStamp (Момент) |  | Доступен |
ObjectValue (Значение-объект) | TObject domain (Объект) |  | Доступен |

Конструирует объект класса TOptionValue (Значения настроек) .

5.9.4.91.2. Поле TOptionValue.FBlobValue (Значение-большой объект)
FBlobValue: TBinaryData (Двоичные данные) .

Используется для хранения значений свойства TOptionValue.BlobValue (Значение-большой объект)
.

5.9.4.91.3. Поле TOptionValue.FBoolValue (Логическое значение)
FBoolValue: Non-required boolean (Необязательное логическое) .

Используется для хранения значений свойства TOptionValue.BoolValue (Логическое значение)
.

5.9.4.91.4. Поле TOptionValue.FDateTimeValue (Значение даты со временем)
FDateTimeValue: TimeStamp (Момент) .

Используется для хранения значений свойства TOptionValue.DateTimeValue (Значение даты со временем)
.

5.9.4.91.5. Поле TOptionValue.FDateValue (Значение даты)
FDateValue: TDate (Дата) .

Используется для хранения значений свойства TOptionValue.DateValue (Значение даты)
.

5.9.4.91.6. Поле TOptionValue.FFloatValue (Вещественное значение)
FFloatValue: Float (Вещественное) .

Используется для хранения значений свойства TOptionValue.FloatValue (Вещественное значение)
.

5.9.4.91.7. Поле TOptionValue.FIntValue (Целое значение)
FIntValue: Integer (Целое) .

Используется для хранения значений свойства TOptionValue.IntValue (Целое значение)
.

5.9.4.91.8. Поле TOptionValue.FObjectValue (Значение-объект)
FObjectValue: TObject domain (Объект) .

Используется для хранения значений свойства TOptionValue.ObjectValue (Значение-объект)
.

5.9.4.91.9. Поле TOptionValue.FStrValue (Строковое значение)
FStrValue: TLongString (Длинная строка) .

Используется для хранения значений свойства TOptionValue.StrValue (Строковое значение)
.

5.9.4.91.10. Поле TOptionValue.FTimeValue (Значение времени)
FTimeValue: TTime (Время) .

Используется для хранения значений свойства TOptionValue.TimeValue (Значение времени)
.

5.9.4.91.11. Поле TOptionValue.FUser (Пользователь)
FUser: TUser domain (Пользователь) .

Используется для хранения значений свойств:
TOptionValue.User (Пользователь)
TOption.User (Пользователь)
.

5.9.4.91.12. Свойство TOptionValue.BlobValue (Значение-большой объект)
BlobValue: TBinaryData (Двоичные данные) .

Для чтения и записи свойства используется поле TOptionValue.FBlobValue (Значение-большой объект) .

5.9.4.91.13. Свойство TOptionValue.BoolValue (Логическое значение)
BoolValue: Non-required boolean (Необязательное логическое) .

Для чтения и записи свойства используется поле TOptionValue.FBoolValue (Логическое значение) .

5.9.4.91.14. Свойство TOptionValue.DateTimeValue (Значение даты со временем)
DateTimeValue: TimeStamp (Момент) .

Для чтения и записи свойства используется поле TOptionValue.FDateTimeValue (Значение даты со временем) .

5.9.4.91.15. Свойство TOptionValue.DateValue (Значение даты)
DateValue: TDate (Дата) .

Для чтения и записи свойства используется поле TOptionValue.FDateValue (Значение даты) .

5.9.4.91.16. Свойство TOptionValue.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FDomain (Домен) .

Дочернее свойство свойства Option (Настройка) .

5.9.4.91.17. Свойство TOptionValue.FloatValue (Вещественное значение)
FloatValue: Float (Вещественное) .

Для чтения и записи свойства используется поле TOptionValue.FFloatValue (Вещественное значение) .

5.9.4.91.18. Свойство TOptionValue.Global (Глобальная)
Global: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TOption.FGlobal (Глобальная) .

Дочернее свойство свойства Option (Настройка) .

5.9.4.91.19. Свойство TOptionValue.IntValue (Целое значение)
IntValue: Integer (Целое) .

Для чтения и записи свойства используется поле TOptionValue.FIntValue (Целое значение) .

5.9.4.91.20. Свойство TOptionValue.IsCurrent (Является текущим)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

Дочернее свойство свойства User (Пользователь) .

5.9.4.91.21. Свойство TOptionValue.ObjectValue (Значение-объект)
ObjectValue: TObject domain (Объект) .

Для чтения и записи свойства используется поле TOptionValue.FObjectValue (Значение-объект) .

5.9.4.91.22. Свойство TOptionValue.Option (Настройка)
Option: TOption required domain (Настройка (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

5.9.4.91.23. Свойство TOptionValue.StrValue (Строковое значение)
StrValue: TLongString (Длинная строка) .

Для чтения и записи свойства используется поле TOptionValue.FStrValue (Строковое значение) .

5.9.4.91.24. Свойство TOptionValue.TimeValue (Значение времени)
TimeValue: TTime (Время) .

Для чтения и записи свойства используется поле TOptionValue.FTimeValue (Значение времени) .

5.9.4.91.25. Свойство TOptionValue.User (Пользователь)
User: TUser domain (Пользователь) .

Для чтения и записи свойства используется поле TOptionValue.FUser (Пользователь) .

5.9.4.91.26. Свойство TOptionValue.VisibleValue (Видимое значение)
VisibleValue: TLongString (Длинная строка) .

Для чтения значения свойства используется функция TOptionValue.GetVisibleValue (Видимое значение) .

5.9.4.91.27. Функция TOptionValue.GetVisibleValue (Видимое значение)

Возвращает значение типа TLongString (Длинная строка) .

Используется для вычисления значений свойств:
TOptionValue.VisibleValue (Видимое значение)
TOption.VisibleValue (Видимое значение)
.

5.9.4.92. Класс TParameter (Параметры)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TRoutine (Подпрограмма) .

5.9.4.92.1. Конструктор TParameter.Create (Конструктор параметра)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Group (Заголовок группы) | TCaption (Заголовки) |  | Доступен |
Tab (Заголовок закладки) | TCaption (Заголовки) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
InitializationMember (Инициализируется членом класса) | TInitializationMember domain (Член класса для инициализации) |  | Доступен |

Конструирует объект класса TParameter (Параметры) .

5.9.4.92.2. Поле TParameter.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Domain (Домен)
.

5.9.4.92.3. Поле TParameter.FGroup (Заголовок группы)
FGroup: TCaption (Заголовки) .

Используется для хранения значений свойства TParameter.Group (Заголовок группы)
.

5.9.4.92.4. Поле TParameter.FInitializationMember (Инициализируется членом)
FInitializationMember: TInitializationMember domain (Член класса для инициализации) .

Используется для хранения значений свойства TParameter.InitializationMember (Инициализируется членом класса)
.

5.9.4.92.5. Поле TParameter.FOutOfTabs (За пределами закладок)

5.9.4.92.6. Поле TParameter.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Position (Позиция)
.

5.9.4.92.7. Поле TParameter.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TParameter.Scope (Область видимости)
.

5.9.4.92.8. Поле TParameter.FTab (Заголовок закладки)
FTab: TCaption (Заголовки) .

Используется для хранения значений свойства TParameter.Tab (Заголовок закладки)
.

5.9.4.92.9. Свойство TParameter.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FDomain (Домен) .

5.9.4.92.10. Свойство TParameter.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

5.9.4.92.11. Свойство TParameter.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

5.9.4.92.12. Свойство TParameter.Group (Заголовок группы)
Group: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TParameter.FGroup (Заголовок группы) .

5.9.4.92.13. Свойство TParameter.InitializationMember (Инициализируется членом класса)
InitializationMember: TInitializationMember domain (Член класса для инициализации) .

Для чтения и записи свойства используется поле TParameter.FInitializationMember (Инициализируется членом) .

5.9.4.92.14. Свойство TParameter.OutOfTabs (За пределами закладок)

5.9.4.92.15. Свойство TParameter.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FPosition (Позиция) .

5.9.4.92.16. Свойство TParameter.RoutineClass (Класс подпрограммы)
RoutineClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TObject.FMaster (Мастер) .

Дочернее свойство свойства Master (Мастер) .

5.9.4.92.17. Свойство TParameter.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TParameter.FScope (Область видимости) .

5.9.4.92.18. Свойство TParameter.Tab (Заголовок закладки)
Tab: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TParameter.FTab (Заголовок закладки) .

5.9.4.92.19. Функция TParameter.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TParameter.Create (Конструктор параметра)
.

5.9.4.93. Класс TProperty (Свойства)
Унаследован от класса TClassMember (Члены класса) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TClass (Классы) .

5.9.4.93.1. Конструктор TProperty.Create (Конструктор свойства)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Domain (Домен) | TDomain required domain (Домен (обязательно)) |  | Доступен |
ReadMember (Член класса для чтения) | TReadMember domain (Член класса для чтения) |  | Доступен |
WriteMember (Член класса для записи) | TWriteMember domain (Член класса для записи) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
IsExportable (Для экспорта) | Boolean (Обычное логическое) |  | Доступен |
Category (Категория) | TCaption (Заголовки) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
IsSuspended (Отложенное) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TProperty (Свойства) .

5.9.4.93.2. Поле TProperty.FCategory (Категория)
FCategory: TCaption (Заголовки) .

Используется для хранения значений свойства TProperty.Category (Категория)
.

5.9.4.93.3. Поле TProperty.FDomain (Домен)
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Domain (Домен)
.

5.9.4.93.4. Поле TProperty.FIsExportable (Эскпортируется)
FIsExportable: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.IsExportable (Для экспорта)
.

5.9.4.93.5. Поле TProperty.FIsSuspended (Отложенное)
FIsSuspended: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.IsSuspended (Отложенное)
.

5.9.4.93.6. Поле TProperty.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Position (Позиция)
.

5.9.4.93.7. Поле TProperty.FReadMember (Член класса для чтения)
FReadMember: TReadMember domain (Член класса для чтения) .

Используется для хранения значений свойства TProperty.ReadMember (Член класса для чтения)
.

5.9.4.93.8. Поле TProperty.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TProperty.Scope (Область видимости)
.

5.9.4.93.9. Поле TProperty.FWriteMember (Член класса для записи)
FWriteMember: TWriteMember domain (Член класса для записи) .

Используется для хранения значений свойства TProperty.WriteMember (Член класса для записи)
.

5.9.4.93.10. Процедура TProperty.Change (Изменение объекта)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Action (Действие) | TChangeAction (Действие при изменении) | Унаследован | Скрыт |

5.9.4.93.11. Процедура TProperty.CreateChildren (Создать дочерние свойства)

5.9.4.93.12. Свойство TProperty.Category (Категория)
Category: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TProperty.FCategory (Категория) .

5.9.4.93.13. Свойство TProperty.Domain (Домен)
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FDomain (Домен) .

5.9.4.93.14. Свойство TProperty.DomainClass (Класс домена)
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TObject.FClass (Класс) .

Дочернее свойство свойства Domain (Домен) .

5.9.4.93.15. Свойство TProperty.DomainRequired (Обязательно для заполнения)
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) .

Дочернее свойство свойства Domain (Домен) .

5.9.4.93.16. Свойство TProperty.IsExportable (Для экспорта)
IsExportable: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FIsExportable (Эскпортируется) .

5.9.4.93.17. Свойство TProperty.IsSuspended (Отложенное)
IsSuspended: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FIsSuspended (Отложенное) .

5.9.4.93.18. Свойство TProperty.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FPosition (Позиция) .

5.9.4.93.19. Свойство TProperty.ReadMember (Член класса для чтения)
ReadMember: TReadMember domain (Член класса для чтения) .

Для чтения и записи свойства используется поле TProperty.FReadMember (Член класса для чтения) .

5.9.4.93.20. Свойство TProperty.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TProperty.FScope (Область видимости) .

5.9.4.93.21. Свойство TProperty.WriteMember (Член класса для записи)
WriteMember: TWriteMember domain (Член класса для записи) .

Для чтения и записи свойства используется поле TProperty.FWriteMember (Член класса для записи) .

5.9.4.93.22. Функция TProperty.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |
Parent (Родитель) | TParent domain (Родитель объекта) |  | Доступен | Parent (Родитель)

Используется для инициализации значения параметра Position (Позиция) подпрограммы TProperty.Create (Конструктор свойства)
.

5.9.4.94. Класс TPropertyBan (Запрет на свойство)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

5.9.4.94.1. Конструктор TPropertyBan.Create (Конструктор запрета на свойство)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |
BannedProperty (Запрещаемое свойство) | TBannedProperty domain (Свойство для запрета) |  | Доступен |
AllowRead (Чтение разрешено) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TPropertyBan (Запрет на свойство) .

5.9.4.94.2. Поле TPropertyBan.FAllowRead (Чтение разрешено)
FAllowRead: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.AllowRead (Чтение разрешено)
.

5.9.4.94.3. Поле TPropertyBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.BannedClass (Запрещаемый класс)
.

5.9.4.94.4. Поле TPropertyBan.FBannedProperty (Запрещенное свойство)
FBannedProperty: TBannedProperty domain (Свойство для запрета) (обязательно для заполнения) .

Используется для хранения значений свойства TPropertyBan.BannedProperty (Запрещаемое свойство)
.

5.9.4.94.5. Свойство TPropertyBan.AllowRead (Чтение разрешено)
AllowRead: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TPropertyBan.FAllowRead (Чтение разрешено) .

5.9.4.94.6. Свойство TPropertyBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TPropertyBan.FBannedClass (Запрещенный класс) .

5.9.4.94.7. Свойство TPropertyBan.BannedProperty (Запрещаемое свойство)
BannedProperty: TBannedProperty domain (Свойство для запрета) (обязательно для заполнения) .

Для чтения значения свойства используется поле TPropertyBan.FBannedProperty (Запрещенное свойство) .

5.9.4.95. Класс TRole (Роли)
Унаследован от класса TSecurityAccount (Роли безопасности) . Объекты могут включать в себя объекты классов:
  • TRoleMember (Пользователи в ролях)

5.9.4.95.1. Конструктор TRole.Create (Конструктор роли)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TRole (Роли) .

5.9.4.95.2. Свойство TRole.IsCurrent (Является текущей)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TRole.GetIsCurrent (Является текущей) .

5.9.4.95.3. Функция TRole.GetIsCurrent (Является текущей)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TRole.IsCurrent (Является текущей)
.

5.9.4.96. Класс TRoleMember (Пользователи в ролях)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TRole (Роли) .

5.9.4.96.1. Конструктор TRoleMember.Create (Конструктор члена роли)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Роль) | TMaster domain (Объект (с каскадным удалением)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
User (Пользователь) | TUser required domain (Пользователь) |  | Доступен | User (Пользователь)
IsPrimary (Основная роль) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TRoleMember (Пользователи в ролях) .

5.9.4.96.2. Поле TRoleMember.FIsPrimary (Основная роль)
FIsPrimary: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoleMember.IsPrimary (Основная роль)
.

5.9.4.96.3. Поле TRoleMember.FUser (Пользователь)
FUser: TUser required domain (Пользователь) (обязательно для заполнения) .

Используется для хранения значений свойства TRoleMember.User (Пользователь)
.

5.9.4.96.4. Процедура TRoleMember.SetIsPrimary (Установка значения свойства "Является основной")

5.9.4.96.5. Свойство TRoleMember.IsPrimary (Основная роль)
IsPrimary: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoleMember.FIsPrimary (Основная роль) .

5.9.4.96.6. Свойство TRoleMember.User (Пользователь)
User: TUser required domain (Пользователь) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoleMember.FUser (Пользователь) .

5.9.4.96.7. Свойство TRoleMember.UserClass (Класс члена роли)

5.9.4.97. Класс TRoutine (Подпрограмма)
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) . Объекты могут включать в себя объекты классов:
  • TParameter (Параметры)

5.9.4.97.1. Конструктор TRoutine.Create (Конструктор подпрограммы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) |  | Доступен |
Domain (Домен результата) | TDomain domain (Домен) |  | Доступен |
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) |  | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) |  | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) |  | Доступен |
Image (Изображение-иконка) | TImage (Изображение) |  | Доступен |

Конструирует объект класса TRoutine (Подпрограмма) .

5.9.4.97.2. Поле TRoutine.FConfirmation (Текст подтверждения)
FConfirmation: TCaption (Заголовки) .

Используется для хранения значений свойства TRoutine.Confirmation (Текст подтверждения)
.

5.9.4.97.3. Поле TRoutine.FDomain (Домен результата)
FDomain: TDomain domain (Домен) .

Используется для хранения значений свойства TRoutine.Domain (Домен результата)
.

5.9.4.97.4. Поле TRoutine.FImage (Изображеие-иконка)
FImage: TImage (Изображение) .

Используется для хранения значений свойства TRoutine.Image (Изображение-иконка)
.

5.9.4.97.5. Поле TRoutine.FIsClassMethod (Является методом класса)
FIsClassMethod: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.IsClassMethod (Является методом класса)
.

5.9.4.97.6. Поле TRoutine.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.Scope (Область видимости)
.

5.9.4.97.7. Поле TRoutine.FScript (Скрипт формы)
FScript: TRoutineScript (Скрипты форм параметров) .

Используется для хранения значений свойства TRoutine.Script (Скрипт формы параметров)
.

5.9.4.97.8. Поле TRoutine.FUseTabs (Использовать закладки)
FUseTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutine.UseTabs (Использовать закладки)
.

5.9.4.97.9. Свойство TRoutine.Confirmation (Текст подтверждения)
Confirmation: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TRoutine.FConfirmation (Текст подтверждения) .

5.9.4.97.10. Свойство TRoutine.Domain (Домен результата)
Domain: TDomain domain (Домен) .

Для чтения и записи свойства используется поле TRoutine.FDomain (Домен результата) .

5.9.4.97.11. Свойство TRoutine.Image (Изображение-иконка)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TRoutine.FImage (Изображеие-иконка) .

5.9.4.97.12. Свойство TRoutine.IsClassMethod (Является методом класса)
IsClassMethod: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FIsClassMethod (Является методом класса) .

5.9.4.97.13. Свойство TRoutine.ParamCount (Количество параметров)
ParamCount: Integer (Целое) .

Для чтения значения свойства используется функция TRoutine.GetParamCount (Количество параметров) .

5.9.4.97.14. Свойство TRoutine.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FScope (Область видимости) .

5.9.4.97.15. Свойство TRoutine.Script (Скрипт формы параметров)
Script: TRoutineScript (Скрипты форм параметров) .

Для чтения и записи свойства используется поле TRoutine.FScript (Скрипт формы) .

5.9.4.97.16. Свойство TRoutine.UseTabs (Использовать закладки)
UseTabs: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutine.FUseTabs (Использовать закладки) .

5.9.4.97.17. Функция TRoutine.GetParamCount (Количество параметров)

Возвращает значение типа Integer (Целое) .

Используется для вычисления значений свойства TRoutine.ParamCount (Количество параметров)
.

5.9.4.98. Класс TRoutineAction (Программируемое действие)
Унаследован от класса TAction (Действия) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

5.9.4.98.1. Конструктор TRoutineAction.Create (Конструктор программируемого действия)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) | Унаследован | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) | Унаследован | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) | Унаследован | Доступен |
Routine (Реализовано посредством ) | TActionRoutine required domain (Метод действия) |  | Доступен |

Конструирует объект класса TRoutineAction (Программируемое действие) .

5.9.4.98.2. Поле TRoutineAction.FRoutine (Подпрограмма)
FRoutine: TActionRoutine required domain (Метод действия) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineAction.Routine (Подпрограмма)
.

5.9.4.98.3. Свойство TRoutineAction.Routine (Подпрограмма)
Routine: TActionRoutine required domain (Метод действия) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TRoutineAction.FRoutine (Подпрограмма) .

5.9.4.99. Класс TRoutineBan (Запрет на подпрограмму)
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) .

5.9.4.99.1. Конструктор TRoutineBan.Create (Конструктор запрета на подпрограмму)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
BannedClass (Запрещаемый класс) | TClass required cascade domain (Класс (с каскадным удалением)) |  | Доступен |
BannedRoutine (Запрещаемая подпрограмма) | TBannedRoutine domain (Подпрограмма для запрета) |  | Доступен |

Конструирует объект класса TRoutineBan (Запрет на подпрограмму) .

5.9.4.99.2. Поле TRoutineBan.FBannedClass (Запрещенный класс)
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineBan.BannedClass (Запрещаемый класс)
.

5.9.4.99.3. Поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма)
FBannedRoutine: TBannedRoutine domain (Подпрограмма для запрета) (обязательно для заполнения) .

Используется для хранения значений свойства TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)
.

5.9.4.99.4. Свойство TRoutineBan.BannedClass (Запрещаемый класс)
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TRoutineBan.FBannedClass (Запрещенный класс) .

5.9.4.99.5. Свойство TRoutineBan.BannedRoutine (Запрещаемая подпрограмма)
BannedRoutine: TBannedRoutine domain (Подпрограмма для запрета) (обязательно для заполнения) .

Для чтения значения свойства используется поле TRoutineBan.FBannedRoutine (Запрещенная подпрограмма) .

5.9.4.100. Класс TSecurityAccount (Роли безопасности)
Унаследован от класса TObject (Объекты) .

5.9.4.101. Класс TStringDomain (Строковые)
Унаследован от класса TDomain (Домены) .

5.9.4.101.1. Конструктор TStringDomain.Create (Конструктор строкового домена)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |
Length (Максимальная длина) | TLength (Длина) |  | Доступен |

Конструирует объект класса TStringDomain (Строковые) .

5.9.4.101.2. Поле TStringDomain.FLength (Максимальная длина)
FLength: TLength (Длина) (обязательно для заполнения) .

Используется для хранения значений свойства TStringDomain.Length (Длина)
.

5.9.4.101.3. Свойство TStringDomain.Length (Длина)
Length: TLength (Длина) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TStringDomain.FLength (Максимальная длина) .

5.9.4.102. Класс TTimeDomain (Время)
Унаследован от класса TDomain (Домены) .

5.9.4.102.1. Конструктор TTimeDomain.Create (Конструктор домена времени)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Required (Обязательно для заполнения) | Boolean (Обычное логическое) | Унаследован | Доступен |

Конструирует объект класса TTimeDomain (Время) .

5.9.4.103. Класс TUser (Пользователи)
Унаследован от класса TSecurityAccount (Роли безопасности) .

5.9.4.103.1. Конструктор TUser.Create (Конструктор пользователя)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |

Конструирует объект класса TUser (Пользователи) .

5.9.4.103.2. Поле TUser.FAccessMode (Режим доступа)

5.9.4.103.3. Свойство TUser.AccessMode (Режим доступа)

5.9.4.103.4. Свойство TUser.IsCurrent (Является текущим)
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) .

5.9.4.103.5. Функция TUser.GetIsCurrent (Является текущим)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойств:
TUser.IsCurrent (Является текущим)
TOptionValue.IsCurrent (Является текущим)
TInstantMessage.IsCurrent (Текущему пользователю)
.

5.9.4.104. Класс TView (Представления)
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
  • TAction (Действия)
  • TViewColumn (Колонки представлений)
  • TRoutineAction (Программируемое действие)
  • TViewAction (Действие-представление)

5.9.4.104.1. Конструктор TView.Create (Конструктор представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
ShownClass (Класс) | TClass required domain (Класс (обязательно)) |  | Доступен |
ColorProperty (Свойство цвета) | TColorProperty domain (Домен свойства цвета) |  | Доступен |
Collapsed (Свернуто) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TView (Представления) .

5.9.4.104.2. Поле TView.FCollapsed (Свернуто)
FCollapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойств:
TView.Collapsed (Свернуть)
TFormView.Collapsed (Узлы свернуты)
.

5.9.4.104.3. Поле TView.FColorProperty (Свойство цвета)
FColorProperty: TColorProperty domain (Домен свойства цвета) .

Используется для хранения значений свойств:
TView.ColorProperty (Свойство цвета)
TFormView.ColorProperty (Свойство-цвет)
.

5.9.4.104.4. Поле TView.FShownClass (Класс для показа)
FShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойств:
TView.ShownClass (Класс)
TFormView.ShownClass (Показываемый класс)
TViewAction.ShownClass (Показываемый класс)
.

5.9.4.104.5. Процедура TView.BuildDefaultActions (Создать действия по умолчанию)

5.9.4.104.6. Процедура TView.BuildDefaultColumns (Создать колонки по умолчанию)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ParentProperty (Родительское свойство) | TColumnProperty domain (Свойство колонки) |  | Скрыт |

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
ParentProperty (Родительское свойство) | TColumnProperty domain (Свойство колонки) |  | Скрыт |

5.9.4.104.7. Свойство TView.Collapsed (Свернуть)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FCollapsed (Свернуто) .

5.9.4.104.8. Свойство TView.ColorProperty (Свойство цвета)
ColorProperty: TColorProperty domain (Домен свойства цвета) .

Для чтения и записи свойства используется поле TView.FColorProperty (Свойство цвета) .

5.9.4.104.9. Свойство TView.ShownClass (Класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TView.FShownClass (Класс для показа) .

5.9.4.104.10. Свойство TView.ShownClassMasterClass (Класс-мастер показываемого)
ShownClassMasterClass: TClass domain (Класс) .

Для чтения значения свойства используется поле TClass.FMasterClass (Класс-мастер) .

Дочернее свойство свойства ShownClass (Класс) .

5.9.4.104.11. Свойство TView.ShownClassReplicationStatus (Статус репликации класса)
ShownClassReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) .

Дочернее свойство свойства ShownClass (Класс) .

5.9.4.105. Класс TViewAction (Действие-представление)
Унаследован от класса TAction (Действия) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

5.9.4.105.1. Конструктор TViewAction.Create (Конструктор действия-представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Shortcut (Горячая клавиша) | TShortcut (Горячие клавиши) | Унаследован | Доступен |
Separated (Отделено) | Boolean (Обычное логическое) | Унаследован | Доступен |
Default (По умолчанию) | Boolean (Обычное логическое) | Унаследован | Доступен |
View (Представление) | TView of FormView domain (Представление для формы) |  | Доступен |
MasterProperty (Свойство-главное) | TMasterProperty domain (Свойство-главное) |  | Доступен |
DetailProperty (Свойство-подчиненное) | TDetailProperty domain (Свойство-подчиненное) |  | Доступен |

Конструирует объект класса TViewAction (Действие-представление) .

5.9.4.105.2. Поле TViewAction.FDetailProperty (Свойство-подчиненное)
FDetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Используется для хранения значений свойства TViewAction.DetailProperty (Свойство-подчиненное)
.

5.9.4.105.3. Поле TViewAction.FMasterProperty (Свойство-главное)
FMasterProperty: TMasterProperty domain (Свойство-главное) .

Используется для хранения значений свойства TViewAction.MasterProperty (Свойство-главное)
.

5.9.4.105.4. Поле TViewAction.FView (Представление)
FView: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Используется для хранения значений свойства TViewAction.View (Представление)
.

5.9.4.105.5. Свойство TViewAction.DetailProperty (Свойство-подчиненное)
DetailProperty: TDetailProperty domain (Свойство-подчиненное) .

Для чтения и записи свойства используется поле TViewAction.FDetailProperty (Свойство-подчиненное) .

5.9.4.105.6. Свойство TViewAction.MasterProperty (Свойство-главное)
MasterProperty: TMasterProperty domain (Свойство-главное) .

Для чтения и записи свойства используется поле TViewAction.FMasterProperty (Свойство-главное) .

5.9.4.105.7. Свойство TViewAction.ShownClass (Показываемый класс)
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) .

Для чтения значения свойства используется поле TView.FShownClass (Класс для показа) .

Дочернее свойство свойства View (Представление) .

5.9.4.105.8. Свойство TViewAction.View (Представление)
View: TView of FormView domain (Представление для формы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewAction.FView (Представление) .

5.9.4.106. Класс TViewColumn (Колонки представлений)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TView (Представления) .

5.9.4.106.1. Конструктор TViewColumn.Create (Конструктор колонки представления)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Property (Свойство) | TColumnProperty domain (Свойство колонки) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Grouped (Группировать) | Boolean (Обычное логическое) |  | Доступен |
Aggregate (Агрегат) | TAggregateKind (Тип агрегата) |  | Доступен |
SortDirection (Направление сортировки) | TSortDirection (Направление сортировки) |  | Доступен |
Fixed (Зафиксирована) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TViewColumn (Колонки представлений) .

5.9.4.106.2. Поле TViewColumn.FAggregate (Агрегат)
FAggregate: TAggregateKind (Тип агрегата) .

Используется для хранения значений свойства TViewColumn.Aggregate (Агрегат)
.

5.9.4.106.3. Поле TViewColumn.FFilter (Фильтр)
FFilter: TCaption (Заголовки) .

Используется для хранения значений свойства TViewColumn.Filter (Фильтр)
.

5.9.4.106.4. Поле TViewColumn.FFixed (Зафиксирована)
FFixed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Fixed (Зафиксирована)
.

5.9.4.106.5. Поле TViewColumn.FForceReadOnly (Только для чтения)
FForceReadOnly: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.ForceReadOnly (Только для чтения)
.

5.9.4.106.6. Поле TViewColumn.FGrouped (Группировать)
FGrouped: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Grouped (Группировать)
.

5.9.4.106.7. Поле TViewColumn.FIsFilterHidden (Фильтр скрыт)

5.9.4.106.8. Поле TViewColumn.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Position (Позиция)
.

5.9.4.106.9. Поле TViewColumn.FProperty (Свойство)
FProperty: TColumnProperty domain (Свойство колонки) .

Используется для хранения значений свойства TViewColumn.Property (Свойство)
.

5.9.4.106.10. Поле TViewColumn.FSortDirection (Направление сортировки)
FSortDirection: TSortDirection (Направление сортировки) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.SortDirection (Направление сортировки)
.

5.9.4.106.11. Поле TViewColumn.FWidth (Ширина)
FWidth: TWidth (Ширина) (обязательно для заполнения) .

Используется для хранения значений свойства TViewColumn.Width (Ширина)
.

5.9.4.106.12. Свойство TViewColumn.Aggregate (Агрегат)
Aggregate: TAggregateKind (Тип агрегата) .

Для чтения и записи свойства используется поле TViewColumn.FAggregate (Агрегат) .

5.9.4.106.13. Свойство TViewColumn.Filter (Фильтр)
Filter: TCaption (Заголовки) .

Для чтения и записи свойства используется поле TViewColumn.FFilter (Фильтр) .

5.9.4.106.14. Свойство TViewColumn.Fixed (Зафиксирована)
Fixed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FFixed (Зафиксирована) .

5.9.4.106.15. Свойство TViewColumn.ForceReadOnly (Только для чтения)
ForceReadOnly: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FForceReadOnly (Только для чтения) .

5.9.4.106.16. Свойство TViewColumn.Grouped (Группировать)
Grouped: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FGrouped (Группировать) .

5.9.4.106.17. Свойство TViewColumn.IsFilterHidden (Фильтр скрыт)

5.9.4.106.18. Свойство TViewColumn.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FPosition (Позиция) .

5.9.4.106.19. Свойство TViewColumn.Property (Свойство)
Property: TColumnProperty domain (Свойство колонки) .

Для чтения и записи свойства используется поле TViewColumn.FProperty (Свойство) .

5.9.4.106.20. Свойство TViewColumn.SortDirection (Направление сортировки)
SortDirection: TSortDirection (Направление сортировки) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FSortDirection (Направление сортировки) .

5.9.4.106.21. Свойство TViewColumn.Width (Ширина)
Width: TWidth (Ширина) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TViewColumn.FWidth (Ширина) .

5.9.4.106.22. Функция TViewColumn.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TViewColumn.Create (Конструктор колонки представления)
.

5.9.4.107. Класс TVisualGroup (Визуальные группы)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты могут включать в себя объекты классов:
  • TVisualGroupItem (Элемент визуальной группы)
  • TVisualGroupForm (Форма визуальной граппы)
  • TVisualGroupAccess (Доступ к визуальным группам)
  • TVisualGroupRoutine (Подпрограмма визуальной группы)

5.9.4.107.1. Конструктор TVisualGroup.Create (Конструктор визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Image (Изображение) | TImage (Изображение) |  | Доступен |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Scope (Область видимости) | TScope (Область видимости) |  | Доступен |
Collapsed (Свернута) | Boolean (Обычное логическое) |  | Доступен |

Конструирует объект класса TVisualGroup (Визуальные группы) .

5.9.4.107.2. Поле TVisualGroup.FCollapsed (Свернута)
FCollapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Collapsed (Свернута)
.

5.9.4.107.3. Поле TVisualGroup.FImage (Изображение)
FImage: TImage (Изображение) .

Используется для хранения значений свойства TVisualGroup.Image (Изображение)
.

5.9.4.107.4. Поле TVisualGroup.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Position (Позиция)
.

5.9.4.107.5. Поле TVisualGroup.FScope (Область видимости)
FScope: TScope (Область видимости) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroup.Scope (Область видимости)
.

5.9.4.107.6. Свойство TVisualGroup.Collapsed (Свернута)
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FCollapsed (Свернута) .

5.9.4.107.7. Свойство TVisualGroup.Image (Изображение)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TVisualGroup.FImage (Изображение) .

5.9.4.107.8. Свойство TVisualGroup.IsAccessible (Доступна)
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения значения свойства используется функция TVisualGroup.GetIsAccessible (Доступна) .

5.9.4.107.9. Свойство TVisualGroup.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FPosition (Позиция) .

5.9.4.107.10. Свойство TVisualGroup.Scope (Область видимости)
Scope: TScope (Область видимости) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroup.FScope (Область видимости) .

5.9.4.107.11. Функция TVisualGroup.GetIsAccessible (Доступна)

Возвращает значение типа Boolean (Обычное логическое) .

Используется для вычисления значений свойства TVisualGroup.IsAccessible (Доступна)
.

5.9.4.107.12. Функция TVisualGroup.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Parent (Родитель) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TVisualGroup.Create (Конструктор визуальной группы)
.

5.9.4.108. Класс TVisualGroupAccess (Доступ к визуальным группам)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

5.9.4.108.1. Конструктор TVisualGroupAccess.Create (Конструктор доступа к визуальной группе)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) |  | Скрыт |
Description (Наименование) | TObjectDescription (Наименования) |  | Скрыт |
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Группа доступа) | TVisualGroup required domain (Визуальная группа (обязательно)) |  | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
SecurityAccount (Роль безопасности) | TSecurityAccount required domain (Роль безопасности (обязательно)) |  | Доступен | SecurityAccount (Роль безопасности)

Конструирует объект класса TVisualGroupAccess (Доступ к визуальным группам) .

5.9.4.109. Класс TVisualGroupForm (Форма визуальной граппы)
Унаследован от класса TVisualGroupItem (Элемент визуальной группы) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

5.9.4.109.1. Конструктор TVisualGroupForm.Create (Конструктор формы визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) | Унаследован | Доступен |
Form (Форма) | TForm required domain (Форма (обязательно)) |  | Доступен |

Конструирует объект класса TVisualGroupForm (Форма визуальной граппы) .

5.9.4.109.2. Поле TVisualGroupForm.FForm (Форма)
FForm: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupForm.Form (Форма)
.

5.9.4.109.3. Свойство TVisualGroupForm.Form (Форма)
Form: TForm required domain (Форма (обязательно)) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupForm.FForm (Форма) .

5.9.4.109.4. Свойство TVisualGroupForm.Image (Изображение)
Image: TImage (Изображение) .

Для чтения и записи свойства используется поле TForm.FImage (Изображеие-иконка) .

Дочернее свойство свойства Form (Форма) .

5.9.4.110. Класс TVisualGroupItem (Элемент визуальной группы)
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

5.9.4.110.1. Конструктор TVisualGroupItem.Create (Конструктор элемента визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) |  | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) |  | Доступен |

Конструирует объект класса TVisualGroupItem (Элемент визуальной группы) .

5.9.4.110.2. Поле TVisualGroupItem.FComment (Комментарий)
FComment: TComment (Текстовый комментарий) .

Используется для хранения значений свойства TVisualGroupItem.Comment (Комментарий)
.

5.9.4.110.3. Поле TVisualGroupItem.FPosition (Позиция)
FPosition: TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupItem.Position (Позиция)
.

5.9.4.110.4. Свойство TVisualGroupItem.Comment (Комментарий)
Comment: TComment (Текстовый комментарий) .

Для чтения и записи свойства используется поле TVisualGroupItem.FComment (Комментарий) .

5.9.4.110.5. Свойство TVisualGroupItem.Position (Позиция)
Position: TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupItem.FPosition (Позиция) .

5.9.4.110.6. Функция TVisualGroupItem.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Возвращает значение типа Integer (Целое) .

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Master (Мастер) | TObject domain (Объект) |  | Доступен |

Используется для инициализации значения параметра Position (Позиция) подпрограммы TVisualGroupItem.Create (Конструктор элемента визуальной группы)
.

5.9.4.111. Класс TVisualGroupRoutine (Подпрограмма визуальной группы)
Унаследован от класса TVisualGroupItem (Элемент визуальной группы) . Объекты класса являются составными частями объектов класса TVisualGroup (Визуальные группы) .

5.9.4.111.1. Конструктор TVisualGroupRoutine.Create (Конструктор подпрограммы визуальной группы)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
Position (Позиция) | TPosition (Позиция) | Унаследован | Доступен | GetNextPos (Следующая позиция)
Comment (Комментарий) | TComment (Текстовый комментарий) | Унаследован | Доступен |
Routine (Подпрограмма) | TVisualGroup routine domain (Подпрограмма визуальной группы) |  | Доступен |

Конструирует объект класса TVisualGroupRoutine (Подпрограмма визуальной группы) .

5.9.4.111.2. Поле TVisualGroupRoutine.FRoutine (Подпрограмма)
FRoutine: TVisualGroup routine domain (Подпрограмма визуальной группы) (обязательно для заполнения) .

Используется для хранения значений свойства TVisualGroupRoutine.Routine (Подпрограмма)
.

5.9.4.111.3. Свойство TVisualGroupRoutine.Routine (Подпрограмма)
Routine: TVisualGroup routine domain (Подпрограмма визуальной группы) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TVisualGroupRoutine.FRoutine (Подпрограмма) .

5.9.4.112. Класс TWordTemplate (Шаблоны отчетов Word)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

5.9.4.112.1. Конструктор TWordTemplate.Create (Конструктор шаблона Word)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TWordTemplateData (Данные Word-шаблона) |  | Доступен |
MacroName (Имя макроса) | TExternalIndentifier (Внешний идентификатор) |  | Доступен |

Конструирует объект класса TWordTemplate (Шаблоны отчетов Word) .

5.9.4.112.2. Поле TWordTemplate.FMacroName (Имя макроса)
FMacroName: TExternalIndentifier (Внешний идентификатор) .

Используется для хранения значений свойства TWordTemplate.MacroName (Имя макроса)
.

5.9.4.112.3. Поле TWordTemplate.FTemplateData (Данные шаблона)
FTemplateData: TWordTemplateData (Данные Word-шаблона) .

Используется для хранения значений свойства TWordTemplate.TemplateData (Данные шаблона)
.

5.9.4.112.4. Свойство TWordTemplate.MacroName (Имя макроса)
MacroName: TExternalIndentifier (Внешний идентификатор) .

Для чтения и записи свойства используется поле TWordTemplate.FMacroName (Имя макроса) .

5.9.4.112.5. Свойство TWordTemplate.TemplateData (Данные шаблона)
TemplateData: TWordTemplateData (Данные Word-шаблона) .

Для чтения и записи свойства используется поле TWordTemplate.FTemplateData (Данные шаблона) .

5.9.4.113. Класс TXSLTTemplate (Шаблоны отчетов XSLT)
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) .

5.9.4.113.1. Конструктор TXSLTTemplate.Create (Конструктор шаблона xslt)

Параметры:
Параметр | Тип | Примечание | Видимость | Связанное свойство
Name (Имя) | TObjectName (Имена) | Унаследован | Доступен | Name (Имя)
Description (Наименование) | TObjectDescription (Наименования) | Унаследован | Доступен | Description (Наименование)
Class (Класс) | TClass domain (Класс) | Унаследован | Доступен | Class (Класс)
Parent (Родитель) | TParent domain (Родитель объекта) | Унаследован | Доступен | Parent (Родитель)
Master (Мастер) | TMaster domain (Объект (с каскадным удалением)) | Унаследован | Доступен | Master (Мастер)
Accessor (Роль доступа) | TAccessor domain (Роли доступа) | Унаследован | Скрыт |
IsClassMethod (Является методом класса) | Boolean (Обычное логическое) | Унаследован | Доступен |
Domain (Домен результата) | TDomain domain (Домен) | Унаследован | Доступен |
Scope (Область видимости) | TScope (Область видимости) | Унаследован | Доступен |
Confirmation (Текст подтверждения) | TCaption (Заголовки) | Унаследован | Доступен |
UseTabs (Использовать закладки) | Boolean (Обычное логическое) | Унаследован | Доступен |
Script (Скрипт формы параметров) | TRoutineScript (Скрипты форм параметров) | Унаследован | Доступен |
Image (Изображение-иконка) | TImage (Изображение) | Унаследован | Доступен |
TemplateData (Данные шаблона) | TXSLTTemplateData (Данные XSLT-шаблона) |  | Доступен |

Конструирует объект класса TXSLTTemplate (Шаблоны отчетов XSLT) .

5.9.4.113.2. Поле TXSLTTemplate.FTemplateData (Данные шаблона)
FTemplateData: TXSLTTemplateData (Данные XSLT-шаблона) .

Используется для хранения значений свойства TXSLTTemplate.TemplateData (Данные шаблона)
.

5.9.4.113.3. Свойство TXSLTTemplate.TemplateData (Данные шаблона)
TemplateData: TXSLTTemplateData (Данные XSLT-шаблона) .

Для чтения и записи свойства используется поле TXSLTTemplate.FTemplateData (Данные шаблона) .

5.9.4.114. Логический домен Boolean (Обычное логическое)
Значение обязательно для заполнения. Значение "истина" представляется строкой " Да ". Значение "ложь" представляется строкой " Нет ".

Используется в качестве простого признака, логического разряда.

5.9.4.115. Логический домен Non-required boolean (Необязательное логическое)
Значение "истина" представляется строкой " Да ". Значение "ложь" представляется строкой " Нет ".

Используется в качестве простого признака, логического разряда.

5.9.4.116. Перечисление TAggregateKind (Тип агрегата)
Допустимые значения:
  • agCount (Количество) - рассчитывается агрегат "Количество"
  • agSumm (Сумма) - рассчитывается агрегат "Сумма по колонке"
  • agMax (Максимальное значение) - рассчитывается агрегат "Максимальное значение по колонке"
  • agMin (Минимальное значение) - рассчитывается агрегат "Минимальное значение по колонке"
  • agAverage (Среднее значение) - рассчитывается агрегат "Среднее значение по колонке"

Определяет тип агрегации по колонке представления.

5.9.4.117. Перечисление TBlobSubtype (Подтип)
Значение обязательно для заполнения. Допустимые значения:
  • btText (Текст) - данные большого объекта представляют собой текст. Предположений о синтексисе текста не делается.
  • btBinaryData (Двоичные данные) - формат данных не интерпретируется системой.
  • btImage (Изображение) - данные содержат образ изображения в формате Windows Bitmap Storage (BMP).
  • btSourceCode (Исходный код) - данные являются исходным текстом на языке PascalScript.
  • btXML (XML-документ) - данные представляют собой xml-документ.
  • btNamedFile (Именованный файл) - данные представляют собой именованный файл. Имя файла также хранится в значении большого двоичного объекта.

Определяет формат значения большого двоичного объекта. Информация используется при попытке открыть значение для просмотра или редактирования.

5.9.4.118. Перечисление TChangeAction (Действие при изменении)
Значение обязательно для заполнения. Допустимые значения:
  • atCreated (Создан) - после создания объекта
  • atChanging (Изменится) - перед изменением объекта
  • atDestroying (Удаляется) - перед удалением объекта
  • atChanged (Изменен) - после изменения объекта

Значение соответствует изменяющему действию. Используется в процедурах изменения объекта.

5.9.4.119. Перечисление TDateTimePart (Часть даты или времени)
Значение обязательно для заполнения. Допустимые значения:
  • dpYear (Год)
  • dpMonth (Месяц)
  • dpDay (День)
  • dpHour (Час)
  • dpMinute (Минута)
  • dpSecond (Секунда)
  • dpDayOfWeek (День недели)

Значение описывает часть даты/времени

5.9.4.120. Перечисление TDeleteRule (Правило удаления)
Значение обязательно для заполнения. Допустимые значения:
  • drRestrict (Нет правила)
  • drCascade (Каскадное удаление)
  • drSetNull (Очистить ссылку)

Значение определяет действия, выполняемые системой при попытке удаления объекта.

5.9.4.121. Перечисление TExcelSheetKind (Тип листа Excel)
Значение обязательно для заполнения. Допустимые значения:
  • skNone (Не переносить данные на лист)
  • skFirst (На первый лист)
  • skFirstHidden (На певый скрытый лист)
  • skLast (На последний лист)
  • skNew (На новый лист)

Определяет лист для переноса данных при формировании отчета Microsoft Excel.

5.9.4.122. Перечисление TReplicationStatus (Статус репликации)
Значение обязательно для заполнения. Допустимые значения:
  • rsReplicatableMetadata (Вместе с метаданными)
  • rsReplicatable (Вместе с бизнес-данными)
  • rsNotReplicatable (Не реплицировать)

Определяет статус репликации объекта.

5.9.4.123. Перечисление TRowColor (Цвет строки таблицы)
Допустимые значения:
  • rcDefault (По умолчанию)
  • rcRed (Красная строка)
  • rcGreen (Зеленая строка)
  • rcBlue (Синяя строка)

Определяет цвет отображения строки в таблице.

5.9.4.124. Перечисление TScope (Область видимости)
Значение обязательно для заполнения. Допустимые значения:
  • scPublic (Видимо пользователям)
  • scPrivate (Не видимо пользователям)

Определяет область видимости элементов.

5.9.4.125. Перечисление TSecurityModel (Модели безопасности)
Значение обязательно для заполнения. Допустимые значения:
  • smFullAccess (Доступ не ограничен)
  • smPublic (Публичный объект)
  • smPrivate (Приватный объект)

Определяет модель безопасности, в соответствии с которой будет создан новый объект.

5.9.4.126. Перечисление TShowObjectInfoType (Тип представления объектов)
Значение обязательно для заполнения. Допустимые значения:
  • soName (Показывать имена)
  • soDescription (Показывать наименования)
  • soBoth (Показывать имена и наименования)

Описывает тип представления объектов, доступных по ссылке, в выпадающем списке и таблице.

5.9.4.127. Перечисление TSortDirection (Направление сортировки)
Значение обязательно для заполнения. Допустимые значения:
  • sdNone (Нет)
  • sdAscending (По возрастанию)
  • sdDescending (По убыванию)

Определяет направление сортировки по колонке представления.

5.9.4.128. Перечисление TUserAccessMode (Режим доступа)

5.9.4.129. Строковый домен Char (Символ)
Максимальная длина (в символах): 2.

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

5.9.4.130. Строковый домен TCaption (Заголовки)
Максимальная длина (в символах): 128.

Используется для представления заголовков элементов управления на экранных формах, например, закладок, групп, категорий свойств.

5.9.4.131. Строковый домен TExternalIndentifier (Внешний идентификатор)
Максимальная длина (в символах): 128.

Используется для идентификации объектов, внешних по отношению к системе, например, идентификторов классов OLE-объектов или макросов VBA.

5.9.4.132. Строковый домен TFileExtension (Расширение имени файла)
Максимальная длина (в символах): 10.

Служит для хранения расширения имени файла. Расширение имени может начинаться с точки. Значения ".xml" и "xml" функционально эквивалентны.

5.9.4.133. Строковый домен TGUID (Уникальные идентификаторы)
Значение обязательно для заполнения. Максимальная длина (в символах): 38.

Используется для хранения глобально-уникальных идентификаторов. Длина обусловлена традиционной формой представления идентификторов (GUID): "{ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ}" (без кавычек, с фигурными скобками), где Х - шестнадцатиричный разряд. Таким образом, глобально-уникальный идентификатор состоит из 16 байт.

Значение обязательно для заполнения.
Максимальная длина (в символах): 38.

5.9.4.134. Строковый домен TLongString (Длинная строка)
Максимальная длина (в символах): 2000.

Максимально длинная поддерживаемая строка. Используется для репрезентации "строки вообще" в строковых функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого строкового значения.

5.9.4.135. Строковый домен TObjectDescription (Наименования)
Значение обязательно для заполнения. Максимальная длина (в символах): 128.

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

5.9.4.136. Строковый домен TObjectName (Имена)
Значение обязательно для заполнения. Максимальная длина (в символах): 64.

Используется для хранения имен объектов. Каждый объект системы имеет обязательное имя. Имена объектов обязаны быть уникальными в пределах класса, родительского объекта (если есть) и инкапсулирующего объекта (если есть).

5.9.4.137. Строковый домен TOldID (Идентификаторы при создании)
Значение обязательно для заполнения. Максимальная длина (в символах): 38.

Используется для хранения идентификаторов объекта, полученного им при создании. Этот идентификатор сохраняется при репликации объекта в другую физическую базу данных. Длина обусловлена традиционной формой представления глобально-уникальных идентификторов (GUID): "{ХХХХХХХХ-ХХХХ-ХХХХ-ХХХХ-ХХХХХХХХХХХХ}" (без кавычек, с фигурными скобками), где Х - шестнадцатиричный разряд.

Значение обязательно для заполнения.
Максимальная длина (в символах): 38.

5.9.4.138. Строковый домен TShortcut (Горячие клавиши)
Максимальная длина (в символах): 20.

Используется для задания горячих клавиш. Текст значения интерпретируется функцией Windows API GetKeyNameText. Примеры значений (без кавычек):

  • "Ins"
  • "Del"
  • "Ctrl+Ins"
  • "Ctrl+Alt+Ins"
  • "F12"
  • "F1"
  • "Ctrl+A"
  • "A"

5.9.4.139. Целочисленный домен Integer (Целое)

Используется для репрезентации "целого вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого целочисленного значения.

5.9.4.140. Целочисленный домен Percent (Процент)
Минимальное допустимое значение: 0 . Минимальное допустимое значение: 100 .

Используется для хранения целого количества процентов, для чего вводит ограничения на значение.

5.9.4.141. Целочисленный домен TLength (Длина)
Значение обязательно для заполнения. Минимальное допустимое значение: 1 .

Обозначет длину строки. Пустые строки системой не поддерживаются и интерпретируются как отстутсвие строкого значения (nil, null)

5.9.4.142. Целочисленный домен TPosition (Позиция)
Значение обязательно для заполнения. Минимальное допустимое значение: 0 .

Значение содержит позицию элемента в последовательности. Используется обычно для упорядочивания однородных элементов.

5.9.4.143. Целочисленный домен TPrescision (Точность)
Минимальное допустимое значение: 1 .

Используется для хранения точности представления вещественных чисел.

5.9.4.144. Целочисленный домен TWidth (Ширина)
Значение обязательно для заполнения. Минимальное допустимое значение: 0 .

Используется для хранения ширин экранных элементов (например, колонок)

5.9.5. Терминология

Интеграция - комплекс работ по настройке механизмов взаимодействия между различными учетными системами, которые функционируют независимо друг от друга в одной организационной структуре ("лоскутная" автоматизация).

Реплика - копия объекта (например, базы данных), обновляемая автоматически при обновлении оригинала.

Модальная форма - подчиененная форма, вызываемая из процедуры, накладывающая ограничения на использование процедуры пока модальная форма не будет закрыта.

5.10. Облачные вычисления

Под терминами "Облака", "Облачные вычисления" подразумеваются способы организации распределенных вычислений данных, функций, всего того, что требуется для автоматизации бизнес-процессов. Реализация подобной технологии иначе называется DNS (Domain Name System - система доменных имен). Упрощенно можно сказать, что существует база данных, где каждому зарегистрированному доменному имени соответствует некий IP-адрес. Также в записях этой базы данных предусмотрены настройки, указывающие на использование записей для различных действий (для электронной почты, для web и т.д.). База данных является распределенной, она хранится на множестве серверов в сети Internet одновременно, и каждый из этих серверов по стандартному описанному протоколу отдает записи этой базы данных. При необходимости можно осуществить сбор всей информации DNS, однако данные меняются настолько быстро, что в результате такой операции будут получены устаревшие значения, не соответствующие реальным.

В то же время с данными DNS вполне допустимо производить кэширование, периодическое обновление и т.п. Смысл "облачной" технологии в том, что данные заменяются на функции доступа к ним. Таким образом, нет необходимости хранить данные о соответствии DNS-имен IP-адресам. При этом всегда доступна информация о том как и куда необходимо обратиться с запросом данных и как использовать полученный ответ.

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

Для понимания, приведем пример одного из московских ВУЗов с широкой сетью филиалов.

В начале создания внутрикорпоративной системы ВУЗа ее построение происходило постепенно, по частям. Было создано централизованное хранилище всех данных, база данных с необходимыми данными и бизнес-функциями, которые выполнялись над этими данными. Все пользователи системы осуществляли свою работу из единой локальной сети с включенной в нее базой данных. Соединения осуществлялись по стандартному потоколу, предоставляемому СУБД. Этот протокол требовал низколатентных соединений и пользователи были удовлетворены, однако существловали достаточно критичные ограничения на доступ к базе данных. Данная технология представляла собой технологию "клиент-сервер".

В дальнейшем потребовалось распространение решения для удаленных филиалов ВУЗа. Было принято внутреннее решение IT-служб ВУЗа о разделении базы данных, то есть каждый филиал получил собственную базу данных (изначально пустую) и начал работать с ней. Попытка синхронизации справочников собственными усилиями не удалась. Синхронизация данных - удалась частично. Сопутствующие сопровождению системы задачи (например, распространение обновлений и др.) решались с переменным успехом.

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

Вопросы по разграничению доступа, настроек и т.п. в данный момент решаются централизованно.

Простым и правильным способом организации корпоративных "облачных" SaaS-технологий будет поддержка такого решения в пределах одной организации.

Другой реальный пример внедрения "облачных" технологий - другой крупный ВУЗ:

При внедрении Системы не оказалось сил, способных осуществлять обслуживание серверных мощностей. В итоге компания "Мельница Технолгий" на собственных подконтрольных площадях самостоятельно развернула всю инфраструктуру, требующуюся для функционирования базы данных ВУЗа. Далее, на базе решения сервер приложений Платформы были созданы точки входа, через которые все функции Системы, а также все данные были доступны пользователям ВУЗа.

Основным аргументом представителей ВУЗа против подобного внедрения был тот факт, что данные хранятся не на собственных мощностях, а у стороннего поставщика услуг. Для разрешения спорного вопроса, каждую ночь на мощностях компании "Мельница Технологий" автоматически создается реплика с самыми актуальными данными. Таким образом ВУЗ всегда имеет в своем распоряжении ежедневный backup для оперативного развертывания в случае форс-мажора.

Из примера понятно, что компания "Мельница Технологий" имеет все возможности и ресурсы для подключения новых пользователей "облака", которые не желают или не имеют возможности заниматься обслуживанием Системы. При этом на заказчика не ложатся затраты на закупку и развертывание инфраструктуры и базы данных, на содержание администраторов Системы.

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

Следует обратить внимание, что понятия "Облако", "Облачные вычисления" носят сугубо маркетинговый характер и не несут какой-то четкой логики построения решений. Технология заключается только в создании точек входа, за которыми функции распределяются по собственным алгоритмам, которые не должны интересовать конечного пользователя. Данные алгоритмы всегда могут быть изменены в зависимости от необходимости. Так, при возрастании нагрузки на "облако", она может быть перераспределена по тому количеству серверов, которое необходимо и удобно.

5.11. OLTP и OLAP

OLTP (OnLine Transaction Processing) - обработка транзакций онлайн.

Задача, которая решается с помощью OLTP-метода называется здесь и дальше "учет". Т.е. это в первую очередь учетные задачи. Характерным элементом управления решенной OLTP-задачи является так называемый "grid" - таблица, состоящая из колонок и строк.

Когда ставится и решается задача постановки учета чего бы то ни было, например, продаж мороженого, пользователь должен увидеть в результате "grid" (таблицу, табличное представление), где каждая строка соответствует одному объекту учета, в данном случае - продаже мороженого, а каждый столбец соответствует атрибуту этого самого элемента учета. В нашем случае, с продажами мороженого это точка, которая продала, сорт, количество, цена, сумма продажи и т.д.

Сорт мороженного | Точка продаж | Кол-во | Цена | Сумма
Пломбир | ул. Ленина | 50 | 20 | 1000
Ленинградское | ул. Ленина | 20 | 18 | 360
Эскимо | ул. Ленина | 100 | 23 | 2300
Лакомка | ул. Ленина | 30 | 25 | 750
В стаканчике | ул. Ленина | 150 | 12 | 1800

Эта таблица должна храниться в базе данных и пользователю не важно при помощи какой технологии построена база данных (на реляционных принципах, на объектных принципах или других). Важно то, что клиентское приложение, с которым пользователь непосредственно взаимодействует, может получить данные и показать их в виде таблицы.

Как правило, у пользователя есть несколько стандартных действий для управления данными в таблице - сортировка, группировка, отбор по колонкам, по дополнительным критериям. Все эти действия предназначены быстрого поиска ошибок в данных. Таким образом поиск ошибок учета осуществляется именно в таблицах. Для исправления ошибок используются следующие методы:

1. В таблице, соответствующая ячейка переводится в режим редактирования, данные изменяются непосредственно в ней, нажатием клавиши Enter подтверждается изменение, и, если новое значение удовлетворяет внутренним ограничениям Системы, то оно будет записано в базу данных.

2. Исправление может рассматриваться как операция, в этом случае: выделяется один или несколько объектов таблицы, т.е. одна или несколько строчек, вызывается действие (либо кнопкой в панели инструментов, либо через контекстное меню, либо каким-то более экзотическим способом). Будет показана модальная форма ввода значений и параметров. При этом пользователь не сможет продолжить работы с системой пока эта форма не будет закрыта после внесения изменений или без них. Только после закрытия модальной формы действие начинает выполняться.

3. Для Платформы "Мельница Данных" также разработан элемент управления, который называется "инспектор объектов". Он используется для установки одинаковых значений для выбранных в таблице однородных объектов. Также инспектор объектов используется, для удобного просмотра всех аттрибутов объекта, так как зачастую таблица содержит такое большое количество колонок, что работа с ними в таблице.

После поиска ошибок какие-то из объектов таблицы участвуют в дальнейших бизнес-процессах, которые должны быть реализованы, какие-то не участвуют и просто хранятся.

Для конечного пользователя простой ввод бизнес-данных в систему учета не имеет никакого практического смысла без возможности дальнейшей обработки и формирования отчетности.

Первичные данные, полученные в результате решения OLTP-задачи, должны использоваться для решения бизнес-задач.

OLАP (Online Analisys Processing) - аналитическая обработка в реальном времени.

В результате решения задачи OLAP система может получить следующее:

1. Результаты обработки, готовые к публикации.

2. Информация для дальнейшего принятия управленческих решений.

Данные, полученные в результате решения OLTP-задачи, поступают на вход и рассматриваются в качестве входных данных для задачи OLАP. Такие данные принято называть "Фактами". Факты должны быть предварительно выверены, подготовлены. В зависимости от разработанных стандартов для Системы не все данные могут быть переданы в OLAP-задачу в качестве фактов. Для данных могут использоваться дополнительные признаки, такие как: "Выверено", "Обработано", "Проверено", "Утверждено". Соответственно на вход OLAP-задачи можно направить данные, для которых один, несколько или все признаки (определяется логикой при разработке) имеют значение "Истина". Факты, которые попали на вход OLAP-задачи, составляют таблицу фактов. В таблице фактов выделяются факты, которые являются "мерой" (measure) или "показателем" (index).

Для примера, самый простой показатель - это количество самих фактов, а также средняя сумма, дисперсия, любой агрегат над этим значением.

Далее выверяют измерение анализа - это, как правило, ссылки на справочные таблицы, и по этим справочным таблицам строится список соответствующий измерению (dimension). На основании таблицы фактов и информации о том, что у нас является показателем, что у нас является измерениями, строится так называемый "куб". Структура данных "куба" сложная. Для наглядности, ниже приведен "куб" для нашего простого примера продаж мороженного:

В качестве меры выбрано количество сумма продаж по деньгам, а в качестве измерения - сорт мороженого, дата и точка, которая эту продажу осуществила. По первой оси - дата. По этой оси выстраиваются все дни соответствующего периода, 01.01.2012, 02.01.2012 и так далее. За год - 365 точек. По другой оси выстраиваются все имеющиеся в продаже сорта. По третьей оси мы ставим точки, соответствующие точкам продаж. В получившемся кубе, в каждой ячейке пишем общую сумму продаж этого сорта мороженного в этой точке и за этот день. В каждой из ячеек может быть несколько различных значений измерений. В этом случае ячейка делится на несколько частей. Например, для примера с мороженным, ячейка также может содержать, кроме суммы продаж, количество проданных единиц данного сорта мороженного. В более сложных случаях, количество показателей может быть большим чем три, как в примере.

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

Второе требование для OLAP задачи - визуализация данных. Табличный вид описанного выше "куба" это сводная таблица, позволяющая группировать измерения, а также показывать факты, то есть значения показателей в ячейках. Для таблицы доступны различные варианты просмотра данных в различных разрезах.

Следующее требование - публикация данных. Здесь нужно отметить, что публикация одного единственного среза данных не несет большого смысла. С точки зрения конечного пользователя, оптимальным вариантом публикации будет являться такой вид на данные, при котором пользователь может "вживую" менять измерения, перетаскивать их и т.д. Такая публикация может быть полезна при принятии управленческих решений руководством предприятия, а также будет удобна для анализа конечными пользователями. Кроме того, для публикации активно используются всевозможные графики, диаграммы, построенные по актуальным данным.

Достаточно востребованным для конечных пользователей является также свойство Системы, называемое Drill Down (проваливание). Данное свойство подразумевает, что пользователь выбрав каким-либо образом значение показателя, имеет возможность посмотреть, каким образом этот показатель был посчитан, на основании чего, и собственно, на основании каких конкретно данных был сформирован этот показатель. Для этого OLАP-системе необходим доступ к первичным данным. Такое требование не является существенной проблемой, так как у хранилище одно и то же и для OLTP-задачи и для OLАP-задачи.

6. Руководство разработчика для построителя запросов

6.1. Информация о приложении
Приложение QueryBuilder представляет собой документ-ориентированное MDI-проиложение.
Документом является запрос. Запросы сохраняются в файле с расширением .MQR. Файлы запросов представляют собой xml-документы определенной структуры. Для доступа к данным БД приложение использует провайдеры данных - библиотеки объектов, реализующих опубликованные интерфейсы. Идентификатор использованного для построения запроса провайдера сохраняется в файле запроса. Если открыть файл с провайдером, не соответствующим текущему, будет выдано предупреждение.

6.2. Требования к провайдеру

Интерфейсы провайдера описаны в библиотеке типов файла QueryBuilder.exe и в файле QueryBuilder_TLB.pas. Собственно, объект-провайдер реализует Интерфейс IInfoProvider. Каждый CoClass, реализующий указанный интерфейс, прописывается в ветке реестра HKLM\Software\QueryBuilder\Providers добавлением параметра, имя которого определяет наименование провайдера, а значение - CLSID провайдера.

Метаданные (информация о таблицах, полях и типах данных) предоставляются в виде именованных элементов, то есть каждый из них реализует интерфейс INamedItemInfo

6.2.1. Интерфейс IInfoProvider
Провайдер реализует интерфейс
  IInfoProvider = interface(IUnknown)
    ['{64F8072B-7250-4C57-BA8E-D018C7B72CC7}']
    function Get_TableCount: Integer; safecall;
    function Get_Table(Index: Integer): ITableInfo; safecall;
    function Perform(const SQL: WideString): IDataSet; safecall;
    procedure Connect(const DataBase: WideString;
      const UserName: WideString;
      const Password: WideString); safecall;
    function Get_CLSID: TGUID; safecall;
    function Get_DateLiteral: WideString; safecall;
    function Get_TimeLiteral: WideString; safecall;
    function Get_DateTimeLiteral: WideString; safecall;
  end;
  • функция Get_CLSID возвращает GUID класса-провайдера.
  • процедура Connect осуществляет соединение с БД.
  • функция Get_TableCount возвращает количество таблиц, доступ к которым предоставляется провайдером.
  • функция Get_Table возвращает ссылку на информацию о таблице с номером Index. Ссылка на интерфейс ITableInfo или интерфейс ITableInfo2
  • функция Perform принимает текст сформированного SQL-запроса и возвращает ссылку на набор данных. Набор данных реализует интерфейс IDataSet.
  • функция Get_DateLiteral возвращает строку, определяющую способ включения в запрос литерала типа "Дата".
  • функция Get_TimeLiteral возвращает строку, определяющую способ включения в запрос литерала типа "Время".
  • функция Get_DateTimeLiteralвозвращает строку, определяющую способ включения в запрос литерала типа "Дата со временем".

6.2.2. Интерфейс IDataSet
Набор данных реализует интерфейс
   IDataSet = interface(IUnknown)
    ['{3CED7395-8482-4EF6-8A15-7744348063C2}']
    function Get_FieldCount: Integer; safecall;
    function Get_FieldName(Index: Integer): WideString; safecall;
    function Get_Field(FieldIndex: OleVariant): OleVariant; safecall;
    procedure Next; safecall;
    function Eof: WordBool; safecall;
  end;
Набор данных представляет собой однонаправленный курсор, каждая строка которого является набором именованных и нумерованных полей.
  • процедура Next осуществляет переход к следующей записи курсора.
  • функция Eof возвращает True в случае достижения конца курсора.
  • функция Get_FieldCount возвращает количество полей в строке курсора.
  • функция Get_FieldName возвращает имя поля с номером Index.
  • функция Get_Field возвращает значение поля, имя или номер которого задан параметром (если строка, то имя, если число, то номер). Допустимо возвращать значение Null для пустых полей.

6.2.3. Интерфейс INamedItemInfo
Каждый элемент метаданных (таблица, поле, тип) обязательно реализует интерфейс
  INamedItemInfo = interface(IUnknown)
    ['{14894363-28DA-4E71-B0BC-9C5CE811BC8F}']
    function Get_Name: WideString; safecall;
    function Get_Caption: WideString; safecall;
    function Get_ID: WideString; safecall;
  end;

Именованный элемент имеет имя, наименование и идентификатор. Имя используется для именования сущности в сформированном SQL-запросе, идентификатор необходим для идентификации сущности в рамках провайдера, таблицы и типы данных имеют глобальное пространство идентификаторов, поля имеют уникальные идентификаторы в пределах последовательности наследуемых таблиц. Никаких ограничений на значения идентификаторов, кроме уникальности, не накладывается.

  • функция Get_Name возвращает имя сущности.
  • функция Get_Caption возвращает наименование сущности.
  • функция Get_ID возвращает идентификатор сущности.

6.2.4. Интерфейс ITableInfo
Информация о таблице представляется объектом через интерфейс (наследник INamedItemInfo )
  ITableInfo = interface(INamedItemInfo)
    ['{3FC1998A-9031-4936-82B5-8CAA2219085E}']
    function Get_FieldCount: Integer; safecall;
    function Get_Field(Index: Integer): IFieldInfo; safecall;
    function Get_PrimaryKey: IFieldInfo; safecall;
    function Get_Uplink: IFieldInfo; safecall;
    function Get_Parent: ITableInfo; safecall;
  end;
  • функция Get_FieldCount возвращает количество полей в таблице.
  • функция Get_Field возвращает ссылку на поле с номером Index. Ссылка на интерфейс IFieldInfo
  • функция Get_PrimaryKey возвращает ссылку на поле, являющееся первичным ключем. Это поле должно быть задано.
  • функция Get_Uplink возвращает ссылку на поле, осуществляющее иерархическую связь между записями таблицы. Если это поле задано, записи отображаются в виде иерархии.
  • функция Get_Parent возвращает ссылку на родительскую таблицу. Дочерняя таблица связана с родительской первичными ключами, т. е. соотношением 1:1. Если таблица не имеет родительской, возвращается nil.

6.2.4.1. Интерфейс ITableInfo2
Для таблиц, имеющих полиморфные ссылки, реализуется интерфейс (наследник ITableInfo )
  ITableInfo2 = interface(ITableInfo)
    ['{9DF4C8AC-1DA2-4E7B-BF44-7EDD7A269418}']
    function Get_PolymorphCount: Integer; safecall;
    function Get_PolymorphTable(Index: Integer): ITableInfo; safecall;
    function Get_PolymorphField(Index: Integer): IFieldInfo; safecall;
  end;
Полиморфной ссылкой является, например, ссылка, физически размещенная в родительской таблице, указывающая на свою запись. Реализация этого интерфейса не является обязательной.
  • функция Get_PolymorphCount возвращает количество полиморфных ссылок.
  • функция Get_PolymorphTable возвращает ссылку на таблицу, на которую указывает полиморфная ссылка номер Index.
  • функция Get_PolymorphTable возвращает ссылку на поле, реализующее полиморфную ссылку номер Index. Это поле должно иметь тип dtReference, информация о его типе должна реализовать интерфейс IReferenceInfo. Значение, возвращаемое функцией Get_TargetTable этого интерфейса в данном случае не имеет значения и игнорируется.

6.2.4.2. Интерфейс ITableInfo3
Для таблиц, при запросах к которым требуется наложение дополнительных условий отбора, реализуется интерфейс (наследник ITableInfo )
  ITableInfo3 = interface(ITableInfo)
    ['{3FB73AA9-010C-48DA-81C7-E1DCFE2E6136}']
    function GetPersistentClause(const Alias: WideString): WideString; safecall;
    function GetPreConditionsCount: Integer; safecall;
    function GetPreConditionCaption(Index: Integer): WideString; safecall;
    function GetPreConditionCategory(Index: Integer): WideString; safecall;
    function Get_ActivePreCondition(Index: Integer): WordBool; safecall;
    procedure Set_ActivePreCondition(Index: Integer; Value: WordBool); safecall;
    function GetPreConditionParamsCount(Index: Integer): Integer; safecall;
    function GetPreConditionParam(Index: Integer; PreConditionIndex: Integer): IOptionInfo; safecall;
  end;
  • функция GetPersistentClause возвращает выражение дополнительного условия отбора. Алиас таблицы передается в параметре Alias.

6.2.5. Интерфейс IFieldInfo
Информация о поле поставляется объектом, реализующим интерфейс (наследник INamedItemInfo )
  IFieldInfo = interface(INamedItemInfo)
    ['{19054DAD-8D35-4B39-8EB7-FD3254BD2934}']
    function Get_TypeInfo: ITypeInfo; safecall;
    function Get_DisplayMode: TDisplayMode; safecall;
  end;
  • функция Get_DisplayMode возвращает роль поля при показе таблицы. Возможные значения (тип TDisplayMode):
    • dmAlways - поле является ключевым, всегда показывается
    • dmNever - поле является служебным (первичным ключем, например). Никогда не показывается.
    • dmOnDemand - поле является обычным информационным, показывается по требованию пользователя.
  • функция Get_TypeInfo возвращает ссылку на информацию о типе данных поля. Возвращаете ссылку на один из интерфейсов-наследников интерфейса ITypeInfo

6.2.6. Интерфейс ITypeInfo
Информация о типах полей поставляется в виде набора объектов, каждый из которых реализует интерфейс (наследник INamedItemInfo )
  ITypeInfo = interface(INamedItemInfo)
    ['{2B6A5E20-3C36-4574-89DB-7C873A5C4A00}']
    function Get_Required: WordBool; safecall;
    function Get_SimpleType: TSimpleType; safecall;
  end;
Информация о конкретном типе передается при помощи реализации одного из наследников этого интерфейса.
  • функция Get_Required возвращает True, если значение поля обязательно для задания.
  • функция Get_SimpleType возвращает информацию о простом типе данных. В зависимости от возвращаемого значения объект должен также реализовывать один из интерфейсов конкретных типов (см. далее). Возможные значения (тип TSimpleType ):
    • dtString - строковый тип. Обязательно реализуется интерфейс IStringInfo
    • dtInteger - целочисленный тип. Обязательно реализуется интерфейс IIntegerInfo
    • dtFloat - вещественный тип. Обязательно реализуется интерфейс IFloatInfo
    • dtDate - тип "дата". Обязательно реализуется интерфейс IDateInfo
    • dtTime - тип "время". Обязательно реализуется интерфейс ITimeInfo
    • dtDateTime - тип "дата со временем". Обязательно реализуется интерфейс IDateTimeInfo
    • dtBoolean - логический тип. Обязательно реализуется интерфейс IBooleanInfo
    • dtEnumeration - перечисление. Обязательно реализуется интерфейс IEnumerationInfo
    • dtReference - ссылка. Обязательно реализуется интерфейс IReferenceInfo
    • dtBlob - Большой двоичный объект. Обязательно реализуется интерфейс IBlobInfo.

6.2.6.1. Интерфейс ITypeInfo2
Информация о предоставляемых провайдером дополнительных возможностях фильтрации (наследник интерфейса ITypeInfo)
  ITypeInfo2 = interface(ITypeInfo)
    ['{77F58BDF-F01C-40F3-B193-1027AD8C4EDA}']
    function GetSpecialFilterCount: Integer; safecall;
    function GetSpecialFilterText(Index: Integer): WideString; safecall;
    function EditSpecialFilter(Index: Integer; var Filter: WideString): WordBool; safecall;
  end;
  • функция GetSpecialFilterCount возвращает количество дополнительных элементов списка, выпадающего при выборе фильтра по колонке.
  • функция GetSpecialFilterText возвращает текст дополнительного элемента списка, выпадающего при выборе фильтра по колонке, с номером Index.
  • функция EditSpecialFilter вызывается в момент выбора пользователем дополнительного элемента списка, выпадающего при выборе фильтра по колонке, с номером Index. Значение выражения фильтра передается и возвращается в параметре Filter. Функция возвращает True в случае, если выражение, возвращенное в параметре Filter нужно применить для фильтрации столбца запроса, False - в противном случае.

6.2.6.2. Интерфейс IStringInfo
Информация о строковом типе (наследник интерфейса ITypeInfo)
  IStringInfo = interface(ITypeInfo)
    ['{74AC4C03-E803-421B-B30D-1A2D2C49827F}']
    function Get_Length: Integer; safecall;
  end;
  • функция Get_Length возвращает максимальную длину строки.

6.2.6.3. Интерфейс IIntegerInfo
Информация о целочисленном типе (наследник интерфейса ITypeInfo)
  IIntegerInfo = interface(ITypeInfo)
    ['{9003B25E-926D-42AE-A907-813DF3A8343E}']
    function Get_MaxValue: Integer; safecall;
    function Get_MaxValueUsed: WordBool; safecall;
    function Get_MinValue: Integer; safecall;
    function Get_MinValueUsed: WordBool; safecall;
  end;
  • функция Get_MaxValueUsed возвращает True, если значение имеет верхнюю границу.
  • функция Get_MaxValue возвращает верхнюю границу значения, если есть.
  • функция Get_MinValueUsed возвращает True, если значение имеет нижнюю границу.
  • функция Get_MinValue возвращает нижнюю границу значения, если есть.

6.2.6.4. Интерфейс IFloatInfo
Информация о вещественном типе (наследник интерфейса ITypeInfo )
  IFloatInfo = interface(ITypeInfo)
    ['{E9B56C6D-47DC-4AB9-9E80-6EEF77708704}']
    function Get_MaxValue: Double; safecall;
    function Get_MaxValueUsed: WordBool; safecall;
    function Get_MinValue: Double; safecall;
    function Get_MinValueUsed: WordBool; safecall;
    function Get_Precision: Integer; safecall;
    function Get_Scale: Integer; safecall;
  end;
  • функция Get_MaxValueUsed возвращает True, если значение имеет верхнюю границу.
  • функция Get_MaxValue возвращает верхнюю границу значения, если есть.
  • функция Get_MinValueUsed возвращает True, если значение имеет нижнюю границу.
  • функция Get_MinValue возвращает нижнюю границу значения, если есть.
  • функция Get_Precision возвращает максимальное количество значащих десятичных цифр в значении.
  • функция Get_Scale возвращает максимальное количество десятичных цифр после запятой.

6.2.6.5. Интерфейс IDateInfo
Информация о типе "Дата" (без времени) (наследник интерфейса ITypeInfo )
  IDateInfo = interface(ITypeInfo)
    ['{DA392510-105F-4655-9A38-18ECA2FBEB97}']
  end;
Не имеет методов.

6.2.6.6. Интерфейс ITimeInfo
Информация о типе "Время" (без даты) (наследник интерфейса ITypeInfo )
  ITimeInfo = interface(ITypeInfo)
    ['{D7067CAC-67A5-41DB-8D95-40409D8658AB}']
  end;
Не имеет методов.

6.2.6.7. Интерфейс IDateTimeInfo
Информация о типе "Дата со времемем" (наследник интерфейса ITypeInfo )
  IDateTimeInfo = interface(ITypeInfo)
    ['{7F5CC8F9-8CE1-4DB7-8932-884EF3BAB538}']
  end;
Не имеет методов.

6.2.6.8. Интерфейс IBooleanInfo
Информация о логическом типе (наследник интерфейса ITypeInfo )
  IBooleanInfo = interface(ITypeInfo)
    ['{8256EDF9-8613-4970-850C-50047839D6BF}']
    function Get_TrueValue: WideString; safecall;
    function Get_FalseValue: WideString; safecall;
  end;
  • функция Get_TrueValue возвращает отображаемую строку для значения True (например, "Да").
  • функция Get_FalseValue возвращает отображаемую строку для значения False (например, "Нет").

6.2.6.9. Интерфейс IEnumerationInfo
Информация о перечислимом типе (наследник интерфейса ITypeInfo )
  IEnumerationInfo = interface(ITypeInfo)
    ['{B58A3F23-1AAC-4420-ADFF-B23B9938A994}']
    function Get_ItemCount: Integer; safecall;
    function Get_Item(Index: Integer): IEnumerationItem; safecall;
  end;
Перечислимый тип определяет набор значений, которые может принимать поле. Значения в таблице трактуются как равные имени элемента перечисления.
  • функция Get_ItemCount возвращает количество элементов перечисления.
  • функция Get_Item возвращает ссылку на элемент перечисления с номером Index, реализующий интерфейс IEnumerationItem

6.2.6.10. Интерфейс IReferenceInfo
Информация о типе "ссылка" (наследник интерфейса ITypeInfo )
  IReferenceInfo = interface(ITypeInfo)
    ['{309C8CB1-4A1C-4E58-BC3F-D1AF27861A8F}']
    function Get_TargetTable: ITableInfo; safecall;
  end;
  • функция Get_TargetTable возвращает ссылку на таблицу, с которой осуществляется связь. Возвращается ссылка на интерфейс ITableInfo

6.2.6.11. Интерфейс IBlobInfo
Информация о типе "больших двоичных объектов" (наследник интерфейса ITypeInfo )
  IBlobInfo = interface(ITypeInfo)
    ['{3905C9C4-EAEB-4844-BB55-3F524F1F3FAC}']
    function Get_SubType: TBlobSubType; safecall;
  end;
  • функция Get_SubType возвращает подтип большого двоичного объекта. Одно из следующих значений (тип TBlobSubType ):
    • bsText - текст
    • bsImage - изображение
    • bsBinary - двоичные данные

6.2.7. Интерфейс IEnumerationItem
Информация об элементе перечисления (наследник INamedItemInfo )
  IEnumerationItem = interface(INamedItemInfo)
    ['{6953507C-D477-4B8D-9443-A9E5FE7137ED}']
    function Get_Position: Integer; safecall;
  end;
Значения в таблице трактуются как равные имени элемента перечисления.
  • функция Get_Position возвращает позицию элемента перечисления.

6.3. Использование провайдера БД Парус8

6.3.1. Использование пользовательских приложений.
Библиотека ParusInfoProvider.dll содержит реализацию провайдера для БД Парус8. Провайдер реализует, в дополнение к обязательным, интерфейс, позволяющий управлять им посредством механизма "Пользовательских приложений":
  IParusProvider = interface(IDispatch)
    ['{4864AE99-80E6-4FC6-9DB0-EAB248F72362}']
    procedure Connect(const Database: WideString;
      const UserName: WideString;
      const Password: WideString); safecall;
    property QueryObject: OleVariant;
    property StoredProcObject: OleVariant;
  end;
Объект-провайдер может установить связь с БД либо самостоятельно с использованием переданных в метод Connect параметров соединения, либо с помощью объектов Query и StoredProc , предоставляемых системой Парус8 для использования в пользовательских приложениях. В свою очередь, созданный провайдер с установленным соединением может быть передан в метод Execute объекта QueryBuilder.Application . Вторым параметром может быть передано значение, представляющее структуру запроса. Это может быть либо строка с указанием имени файла, либо объект, реализующий интерфейс IStream (например, MSXML.DOMDocument ), либо строка, представляющая собой xml-документ. Все средства манипуляции структурой и поведением запроса предоставляются на уровне работы с xml-документом, описывающим запрос.
Пример скрипта пользовательского приложения на DelphiScript

procedure QueryBuilderTest;
var
  LApplication: OleVarint;
  LProvider: OleVarint;
  LDocument: OleVariant;
begin
  //описание структуры запроса. Из BLOB, из файла, из строки - откуда угодно
  LDocument := CreateOleObject('MSXML.DOMDocument');
  //LDocument реализует IXMLDOMDocument и IStream
  LDocument.loadXML('<Query Provider="{B3079C97-6EBC-43EB-880F-58F094B322B0}">' +
    '<Item Type="Table" Table="AGNLIST" Alias="MAIN" TableAlias="MAIN">'  +
      '<Item ColumnIndex="0" Type="Field" Field="AGNABBR" Table="AGNLIST" ' +
        'Alias="MAIN_AGNABBR" TableAlias="MAIN"/>' +
      '<Item ColumnIndex="1" Type="Field" Field="VERSION" Table="AGNLIST" ' +
        'Alias="MAIN_VERSION" TableAlias="MAIN"/>' +
    '</Item>' +
  '</Query>');

  //Скрытие дерева структуры
  LDocument.documentElement.setAttribute('TreeWidth', 0);

  //Наложение условий отбора на колонку
  LDocument.selectSingleNode('/*/Item/Item[@Field="AGNABBR" and @Table="AGNLIST"]').
    setAttribute('ColumnFilter', 'Б*');

  //Переименование колонки
  LDocument.selectSingleNode('/*/Item/Item[@Field="VERSION" and @Table="AGNLIST"]').
    setAttribute('Caption', 'Версия');

  //создание провайдера и передача ему объектов для соединения с БД
  LProvider := CreateOleObject('ParusInfoProvider.ParusProvider');
  LProvider.QueryObject := Query;
  LProvider.StoredProcObject := StoredProc;

  //создание и использование объекта-приложения QueryBuilder
  LApplication := CreateOleObject('QueryBuilder.Application');

  //В качестве второго параметра передается ОБЪЕКТ, через
  //   IStream содержащий структуру запроса
  LApplication.Execute(LProvider, LDocument);
  LApplication.Visible := True;

  //Ожидание завершения работы с приложением
  repeat
    Application.ProcessMessages;
  until not LApplication.Visible;

end;
Интерфейс автоматизации поддерживает также метод для автоматического применения шаблона для переноса в Excel.
Допустим, .MQR-файл, описывающий запрос, содержащий шаблон с именем "Простой Перенос" загружен в раздел "Модули пользовательских приложений" с мнемокодом "QueryData". Для этого необходимо создать модуль пользовательского приложения с типом "COM-сервер" или "Надстройка Excel" и загрузить из файла .MQR-файл. Проверки соответствия формата загружаемого файла заявленному типу модуля пользовательского приложения Парус не производит, что позволяет воспользоваться этим трюком. Тогда:
procedure QueryBuilderTemplateTest;
var
  LApplication: OleVarint;
  LProvider: OleVarint;
  S: string;
begin
  Query.SQL.Text := 'select BMODULE from V_UAMODULES where SCODE = :CODE';
  //мнемокод модуля пользовательского приложения, содержащего
  //загруженный .MQR-файл
  Query.ParamByName('CODE').Value := 'QueryData';
  Query.Open;
  S := Query.FieldByName('BMODULE').AsString;
  Query.Close;

 //создание провайдера и передача ему объектов для соединения с БД
  LProvider := CreateOleObject('ParusInfoProvider.ParusProvider');
  LProvider.QueryObject := Query;
  LProvider.StoredProcObject := StoredProc;

  //создание и использование объекта-приложения QueryBuilder
  LApplication := CreateOleObject('QueryBuilder.Application');

  //В качестве второго параметра передается СТРОКА, содержащая xml с описанием
  //структуры запроса и шаблоны для переноса в Excel
  LApplication.ExecuteTemplate(LProvider, S, 'Простой Перенос');
end;

6.3.2. Информация о базе данных
Провайдер Парус8 предоставляет информацию о четырех типах таблиц:
  1. Представление, описанное при помощи метаданных Парус8 как "вызываемое с клиента". В этом случае полями таблицы являются описанные атрибуты класса с соответствующими типами.
  2. Таблица, имеющая клиентский доступ и связанная с разделом, не имеющим ни одного описанного доступного представления, но имеющим описанные физические атрибуты. Информация о полях берется из метаданных Парус8
  3. Таблица, имеющая клиентский доступ и связанная с разделом, не имеющим ни одного описанного доступного представления, и не имеющим описанных атрибутов. Информация о полях берется из метаданных Oracle.
  4. Таблица, имеющая клиентский доступ и не связанная ни с каким разделом. Информация о полях берется из метаданных Oracle.

6.4. Разработка шаблонов

Шаблон представляет собой обычную рабочую книгу Excel.

Шаблоны для переноса данных в Excel физически интегрируются внутрь .MQR-файла и хранятся вместе с запросом. Разработку шаблона можно вести независимо, используя только Microsoft Excel (запуская его самостоятельно), а потом загрузить в файл запроса, а можно воспользоваться пунктом меню "Редактировать" на странице "Шаблоны".

Для взаимодействия с источником данных рабочая книга-шаблон должна содержать в любом модуле макрос с именем "Template" (без кавычек) с одним параметром. При выполнении переноса данных по этому шаблону QueryBuilder произведет вызов этого метода, передав в качестве фактического значения параметра объект, реализующий интерфейс IExternalQuery. Никаких других требований к рабочей книге-шаблону не выдвигается.
В примере показан запрос на таблицу AGNLIST (провайдер Oracle), показывающий как простой перенос данных, так и сводную таблицу со сводной диаграммой распределения записей таблицы по полю CRN.
Пример запроса с шаблонами
В примере показан запрос на таблицу "TField" (провайдер Мельницы Данных), показывающий как простой перенос данных, так и сводную таблицу со сводной диаграммой распределения записей таблицы.
Пример запроса с шаблонами для Мельницы Данных`

6.4.1. Интерфейс IExternalQuery
Объект, реализующий этот интерфейс, передается в макрос генерации отчета Excel (Template). Все его свойства и методы доступны для испоьзования в процессе генерации отчета
  IExternalQuery = interface(IDispatch)
    ['{1A86D1DA-A56E-4D53-88F9-7A035D7D12B4}']
    function Select(const SQL: WideString): IExternalDataSet; safecall;
    function SelectedRecordsCount: Integer; safecall;
    function SelectedRecord(Index: Integer): OleVariant; safecall;
    procedure PlaceCurrentQuery(const Sheet: IDispatch;
      CaptionsNeeded: WordBool = False; Row: Integer = 1;
      Column: Integer = 1; ShiftRows: WordBool = True;
      ShiftColumns: WordBool = False); safecall;
    procedure PlaceQuery(const Sheet: IDispatch; const DataSet: ExternalDataSet;
      Row: Integer = 1; Column: Integer = 1; ShiftRows: WordBool = True;
      ShiftColumns: WordBool = False); safecall;
    property CurrentQuery: WideString;
  end;
  • функция Select возвращает объект, реализующий интерфейс IExternalDataSet с данными, полученными в результате запроса, заданного параметром SQL. Фактически метод является оберткой метода Perform объекта-провайдера IInfoProvider
  • функция SelectedRecordsCount возвращает количество записей, отмеченных пользователем в гриде в момент выгрузки в Excel
  • функция SelectedRecord возвращает первичный ключ отмеченной пользователем записи с номером Index
  • процедура PlaceCurrentQuery осуществляет перенос в указанное положение указанного рабочего листа данных текущего табличного представления. Параметр Sheet указывает на рабочий лист Excel, на который будет осуществляться перенос, параметр CaptionsNeeded определяет необходимость переноса заголовков колонок, параметры Row и Column определяют соответственно номер строки и столбца на рабочем листе Excel, начиная с которых будут расположены данные. Параметр ShiftRows определяет необходимость сдвига строк вниз при переносе данных (информация в ячейках, лежащих НИЖЕ строки, определенной параметром Row, будет либо затерта, либо сдвинута на требуемое число строк вниз. Параметр ShiftColumns определяет необходимость сдвига колонок вправо при переносе данных (информация в ячейках, лежащих ПРАВЕЕ столбца, определенного параметром Column, будет либо затерта, либо сдвинута на требуемое число строк вниз.
  • процедура PlaceQuery осуществляет перенос в указанное положение указанного рабочего листа данных заданного параметром DataSet набора данных. Параметр Sheet указывает на рабочий лист Excel, на который будет осуществляться перенос, параметр CaptionsNeeded определяет необходимость переноса заголовков колонок, параметры Row и Column определяют соответственно номер строки и столбца на рабочем листе Excel, начиная с которых будут расположены данные. Параметр ShiftRows определяет необходимость сдвига строк вниз при переносе данных (информация в ячейках, лежащих НИЖЕ строки, определенной параметром Row, будет либо затерта, либо сдвинута на требуемое число строк вниз. Параметр ShiftColumns определяет необходимость сдвига колонок вправо при переносе данных (информация в ячейках, лежащих ПРАВЕЕ столбца, определенного параметром Column, будет либо затерта, либо сдвинута на требуемое число строк вниз.
  • свойство CurrentQuery возвращает строку запроса, на основе которого постоено текущее табличное представление.

6.4.2. Интерфейс IExternalDataSet
Фактически, обертка над интерфейсом IDataSet .
  IExternalDataSet = interface(IDispatch)
    ['{CDC7992C-BB30-431C-9F81-3215175AD5AB}']
    procedure Next; safecall;
    function Eof: WordBool; safecall;
    property FieldCount: Integer;
    property FieldName[Index: Integer]: WideString;
    property Field[FieldIndex: OleVariant]: OleVariant;
  end;
Набор данных представляет собой однонаправленный курсор, каждая строка которого является набором именованных и нумерованных полей.
  • процедура Next осуществляет переход к следующей записи курсора.
  • функция Eof возвращает True в случае достижения конца курсора.
  • свойство FieldCount возвращает количество полей в строке курсора.
  • свойство FieldName возвращает имя поля с номером Index.
  • свойство Field возвращает значение поля, имя или номер которого задан параметром (если строка, то имя, если число, то номер). Допустимо возвращать значение Null для пустых полей.

6.5. Интерфейс автоматизации
Взаимодействие внешних приложений с QueryBuilder'ом осуществляется при помощи интерфейса
  IApplication = interface(IDispatch)
    ['{0E59D500-7A6A-43CA-8007-B7BB7E393CD4}']
    procedure Execute(const Provider: IUnknown; var Query: OleVariant); safecall;
    procedure ExecuteTemplate(const Provider: IUnknown; var Query: OleVariant;
      const TemplateName: WideString); safecall;
    property Visible: WordBool;
  end;
  • Свойство Visible определяет видимость приложения
  • Процедура Execute осуществляет выполнение запроса. Первым параметром является объект-провайдер (созданный заранее внешним образом и установивший соединение с БД также заранее). Вторым параметром может быть передано значение, представляющее структуру запроса. Это может быть либо строка с указанием имени файла, либо объект, реализующий интерфейс IStream (например, MSXML.DOMDocument ), либо строка, представляющая собой xml-документ. Все средства манипуляции структурой и поведением запроса предоставляются на уровне работы с xml-документом, описывающим запрос.
  • Процедура ExecuteTemplate осуществляет выполнение запроса и применяет к результатам шаблон с именем, переданным в параметре TemplateName. Первые два параметра аналогичны параметрам метода Execute
Интерфейс автоматизации может быть использован в тех случаях, когда необходима интергация QueryBuilder'a в третьестороннюю информационную систему.