Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added descriptions about query schema #176

Merged
merged 10 commits into from
Jan 13, 2025
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
7. [Настройки отбора объектов](docs/ПолучениеДанныхПоНастройкеОтбора.md)
8. [Загрузка файла через табличный документ](docs/ЗагрузкаФайлаЧерезТабличныйДокумент.md)
9. [Переопределения методов БСП](docs/ПереопределениеМетодовБСП.md)
10. [Схемы Запросов](docs/СхемыЗапросов.md)

## Заимствованные разработки

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
341 changes: 341 additions & 0 deletions docs/puml/ОбъектнаяМодельСхемаЗапроса.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,341 @@
@startuml queryScheme

skinparam class {
BackgroundColor LightYellow
}

left to right direction
title Схемы запросов

class СхемаЗапроса #line.bold {
*ПакетЗапросов
}

enum ПакетЗапросовСхемыЗапроса #line.bold {
}

class ЗапросУничтоженияТаблицыСхемыЗапроса #line.bold {
*ИмяТаблицы : СТРОКА
}

class ЗапросВыбораСхемыЗапроса #line.bold {
*Автопорядок : БУЛЕВО
--
*ВыбиратьРазрешенные : БУЛЕВО
--
*ВыраженияИтогов
--
*ДоступныеТаблицы
--
*Индекс
--
*Колонки
--
*КонтрольныеТочкиИтогов
--
*ОбщиеИтоги : БУЛЕВО
--
*Операторы
--
*Порядок
--
*ТаблицыДляПомещения : СТРОКА
}

class ВыраженияИтогов #line.bold {
*ВыражениеИтога
}

class ВыражениеИтога #line.bold {
*Выражение : ВЫРАЖЕНИЕ
--
*Поле
}

enum ДоступныеТаблицы #line.bold {
}

class ДоступнаяТаблица #line.bold {
*Тип : СТРОКА
--
*Параметры
--
*Поля
}

class ГруппаДоступныхТаблиц #line.bold {
*Представление : СТРОКА
--
*Состав
}

enum Параметры #line.bold {
}

class ПараметрДоступнойТаблицы #line.bold {
*Варианты : ФИКСИРОВАННЫЙМАССИВ
--
*ДоступныеПоля
--
*Имя : СТРОКА
--
*ТипЗначения : ОПИСАНИЕТИПОВ
--
*ТипПараметра
}

abstract ТипПараметраДоступнойТаблицы #line.bold {
*Вариант
--
*Значение
--
*Массив
--
*Порядок
--
*СписокПолей
--
*Условие
}

enum ДоступныеПоля #line.bold {
}

class ДоступноеПоле #line.bold {
*Имя : СТРОКА
--
*Поля
--
*Роль
--
*ТипЗначения : ОПИСАНИЕТИПОВ
}

class РольПоля #line.bold {
*Измерение : БУЛЕВО
--
*Ресурс : БУЛЕВО
}

class ДоступнаяВложеннаяТаблица #line.bold {
*Имя : СТРОКА
--
*Поля
}

enum ВыраженияИндекса #line.bold {
*ВыражениеИндекса
}

class ВыражениеИндекса #line.bold {
*Выражение : ВЫРАЖЕНИЕ
}

enum Колонки #line.bold {
}

class КолонкаВложеннаяТаблица #line.bold {
*Колонки
--
*Поля
--
*Псевдоним : СТРОКА
}

class Колонка #line.bold {
*Поля
--
*Псевдоним : СТРОКА
--
*ТипЗначения : ОПИСАНИЕТИПОВ
}

enum ПоляКолонки #line.bold {
}

enum КонтрольныеТочкиИтогов #line.bold {
}

class КонтрольнаяТочкаИтогов #line.bold {
*Выражение : ВЫРАЖЕНИЕ
--
*ИмяКолонки : СТРОКА
--
*КонецПериодаДополнения : СТРОКА
--
*НачалоПериодаДополнения : СТРОКА
--
*ТипДополненияПериодами : ТИПДОПОЛНЕНИЯПЕРИОДАМИ
--
*ТипКонтрольнойТочки : ТИПКОНТРОЛЬНОЙТОЧКИ
}

enum ВыраженияПорядка #line.bold {
}

class ВыражениеПорядка #line.bold {
*Направление : НАПРАВЛЕНИЕПОРЯДКА
}

enum Операторы #line.bold {
}

class ОператорВыбрать #line.bold {
*ВыбираемыеПоля
--
*ВыбиратьДляИзменения : БУЛЕВО
--
*ВыбиратьРазличные : БУЛЕВО
--
*Группировка
--
*Источники
--
*КоличествоПолучаемыхЗаписей : ЧИСЛО
--
*Отбор
--
*ТаблицыДляИзменения
--
*ТипОбъединения : ТИПОБЪЕДИНЕНИЯ
}

enum Поля #line.bold {
}

class ВложеннаяТаблица #line.bold {
*Имя : СТРОКА
--
*Поля
}

enum Источники #line.bold {
}

class Источник #line.bold {
*Источник
--
*Соединения
}

class ВложенныйЗапрос #line.bold {
*ДоступныеПоля
--
*Запрос
--
*Псевдоним : СТРОКА
}

class ОписаниеВременнойТаблицы #line.bold {
*ДоступныеПоля
--
*Псевдоним : СТРОКА
}

class Таблица #line.bold {
*ДоступныеПоля
--
*ИмяТаблицы : СТРОКА
--
*Параметры
--
*Псевдоним : СТРОКА
}

enum ПараметрыТаблицы #line.bold {
}

class ПараметрТаблицы #line.bold {
*Выражение : ВЫРАЖЕНИЕ
}

enum Выражения #line.bold {
}

enum ТаблицыДляИзменения #line.bold {
}

class ТаблицаДляИзменения #line.bold {
*ИмяТаблицы : СТРОКА
}

СхемаЗапроса <- ПакетЗапросовСхемыЗапроса
ЗапросВыбораСхемыЗапроса -left-> ПакетЗапросовСхемыЗапроса
ПакетЗапросовСхемыЗапроса <- ЗапросУничтоженияТаблицыСхемыЗапроса

ДоступнаяТаблица -up-> ДоступныеТаблицы

ГруппаДоступныхТаблиц -up-> ДоступныеТаблицы
ДоступныеТаблицы --> ГруппаДоступныхТаблиц::Состав

КолонкаВложеннаяТаблица -up-> Колонки
Колонки -right-> КолонкаВложеннаяТаблица::Колонки

Колонка -up-> Колонки

Колонка -up-> ВыражениеИтога::Поле

ПоляКолонки -up-> Колонка::Поля
ПоляКолонки -right-> КолонкаВложеннаяТаблица::Поля

ДоступнаяТаблица::Параметры <-- Параметры
ДоступнаяТаблица::Поля <-- ДоступныеПоля

ПараметрДоступнойТаблицы -up-> Параметры
ДоступныеПоля --> ПараметрДоступнойТаблицы::Поля
ТипПараметраДоступнойТаблицы -up-> ПараметрДоступнойТаблицы::ТипПараметра

КонтрольнаяТочкаИтогов -up-> КонтрольныеТочкиИтогов

ВыражениеИндекса -up-> ВыраженияИндекса::ВыражениеИндекса

ВыражениеИтога -up-> ВыраженияИтогов::ВыражениеИтога

ЗапросВыбораСхемыЗапроса::ВыраженияИтогов <-- ВыраженияИтогов
ЗапросВыбораСхемыЗапроса::ДоступныеТаблицы <-- ДоступныеТаблицы
ЗапросВыбораСхемыЗапроса::Индекс <-- ВыраженияИндекса
ЗапросВыбораСхемыЗапроса::Колонки <-- Колонки
ЗапросВыбораСхемыЗапроса::КонтрольныеТочкиИтогов <-- КонтрольныеТочкиИтогов

ЗапросВыбораСхемыЗапроса::Операторы <-- Операторы
ОператорВыбрать -up-> Операторы

Поля -up-> ОператорВыбрать::ВыбираемыеПоля
ВложеннаяТаблица -up-> Поля
Выражения -up-> ВложеннаяТаблица::Поля
ВложеннаяТаблица -up-> ПоляКолонки

Выражения -up-> ОператорВыбрать::Группировка

Источники -up-> ОператорВыбрать::Источники
Источник -up-> Источники

Выражения -up-> ОператорВыбрать::Отбор
ТаблицыДляИзменения -up-> ОператорВыбрать::ТаблицыДляИзменения
ТаблицаДляИзменения -up-> ТаблицыДляИзменения

ЗапросВыбораСхемыЗапроса::Порядок <-- ВыраженияПорядка
ВыражениеПорядка -up-> ВыраженияПорядка

ЗапросВыбораСхемыЗапроса::Операторы --> ВложенныйЗапрос::Запрос
ДоступныеПоля -up-> ВложенныйЗапрос::ДоступныеПоля
ВложенныйЗапрос -up-> Источник::Источник

ОписаниеВременнойТаблицы -up-> Источник::Источник
ДоступныеПоля -up-> ОписаниеВременнойТаблицы::ДоступныеПоля

Таблица -up-> Источник::Источник
ДоступныеПоля -up-> Таблица::ДоступныеПоля
ПараметрыТаблицы -up-> Таблица::Параметры

ПараметрТаблицы -up-> ПараметрыТаблицы

ДоступноеПоле -up-> ДоступныеПоля
ДоступнаяВложеннаяТаблица -up-> ДоступныеПоля

ДоступныеПоля --> ДоступноеПоле::Поля
ДоступныеПоля --> ДоступнаяВложеннаяТаблица::Поля

РольПоля -up-> ДоступноеПоле::Роль

@enduml
Loading
Loading