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

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

denisushakov
Copy link
Contributor

@denisushakov denisushakov commented Dec 26, 2024

Summary by CodeRabbit

  • Новые функции
    • Добавлен новый подсистем "Схемы Запросов" с документацией.
    • Документированы новые функции для динамического изменения текстовых запросов.
  • Документация
    • Обновлен файл README.md, добавлена ссылка на новую документацию.
    • Введены примеры использования новых функций для работы с запросами.
    • Добавлена UML-диаграмма, описывающая структуру и взаимосвязи компонентов подсистемы.

@denisushakov denisushakov added the documentation Improvements or additions to documentation label Dec 26, 2024
@denisushakov denisushakov self-assigned this Dec 26, 2024
Copy link

coderabbitai bot commented Dec 26, 2024

Обзор изменений

Walkthrough

Изменения включают добавление новой подсистемы "Схемы Запросов" в документации проекта. В README.md появилась десятая позиция в списке подсистем со ссылкой на новый файл docs/СхемыЗапросов.md. Новый документ подробно описывает функциональность динамического изменения текстовых запросов в языке 1С, представляя четыре основные функции для манипуляции запросами. Также был создан новый файл PlantUML, который описывает объектную модель для схемы запросов.

Changes

Файл Изменения
README.md Добавлена новая строка "Схемы Запросов" с ссылкой на docs/СхемыЗапросов.md
docs/СхемыЗапросов.md Создан новый файл документации с описанием подсистемы "Схемы запросов" и новых функций
docs/puml/ОбъектнаяМодельСхемаЗапроса.puml Создан новый файл PlantUML с объектной моделью для схемы запросов, включающей классы и перечисления

Sequence Diagram

sequenceDiagram
    participant User
    participant QuerySchema
    participant Query
    
    User->>QuerySchema: Создание схемы запроса
    QuerySchema->>Query: ДобавитьОтборВЗапрос
    QuerySchema->>Query: ДобавитьПоляВыборкиВЗапрос
    QuerySchema->>Query: УстановитьКоличествоПолучаемыхЗаписей
    QuerySchema->>Query: ДобавитьУсловиеВЗапрос
Loading

Possibly related PRs

  • Create doc for subsystem integration management #115: Обновление README.md с целью улучшения навигации.
  • Added objects to subsystems #140: Добавление новых элементов в подсистемы, что может быть связано с улучшениями структуры документации и подсистем, наблюдаемыми в основном PR.

Suggested reviewers

  • ivanmolodec

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (5)
docs/СхемыЗапросов.md (5)

13-20: Важные требования четко определены

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

Хотите, чтобы я подготовил примеры кода, иллюстрирующие возможные ошибки при нарушении требований?


27-33: Пример 1: Предложение по улучшению документации

В примере с ДобавитьОтборВЗапрос рекомендуется:

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

Also applies to: 38-42


48-61: Пример 2: Исправить опечатки в коде

В примере есть следующие опечатки:

  1. Строка 58: Лишняя кавычка в комментарии Пароль"
  2. Строка 57: Незакрытая кавычка в комментарии Список значений

Предлагаемые исправления:

-Поля.Добавить("пбп_ПредопределенныеЗначения.СписокЗначений", Список значений);
-Поля.Добавить("пбп_ПредопределенныеЗначения.Пароль", Пароль");
+Поля.Добавить("пбп_ПредопределенныеЗначения.СписокЗначений", "Список значений");
+Поля.Добавить("пбп_ПредопределенныеЗначения.Пароль", "Пароль");
🧰 Tools
🪛 Markdownlint (0.37.0)

50-50: Column: 6
Hard tabs

(MD010, no-hard-tabs)


52-52: Column: 6
Hard tabs

(MD010, no-hard-tabs)


54-54: Column: 6
Hard tabs

(MD010, no-hard-tabs)


96-114: Пример 4: Незакрытая кавычка в заголовке

В строке 96 отсутствует закрывающая кавычка в заголовке примера.

Исправьте заголовок:

-**Пример 4. Добавление условий в виртуальную таблицу
+**Пример 4. Добавление условий в виртуальную таблицу**
🧰 Tools
🪛 Markdownlint (0.37.0)

99-99: Column: 2
Hard tabs

(MD010, no-hard-tabs)


100-100: Column: 2
Hard tabs

(MD010, no-hard-tabs)


102-102: Column: 2
Hard tabs

(MD010, no-hard-tabs)


1-114: Форматирование: Замена табуляции на пробелы

В документе используется смешанное форматирование (табуляция и пробелы). Рекомендуется использовать пробелы для единообразия.

Хотите, чтобы я подготовил скрипт для автоматической замены табуляции на пробелы во всем документе?

🧰 Tools
🪛 Markdownlint (0.37.0)

50-50: Column: 6
Hard tabs

(MD010, no-hard-tabs)


52-52: Column: 6
Hard tabs

(MD010, no-hard-tabs)


54-54: Column: 6
Hard tabs

(MD010, no-hard-tabs)


99-99: Column: 2
Hard tabs

(MD010, no-hard-tabs)


100-100: Column: 2
Hard tabs

(MD010, no-hard-tabs)


102-102: Column: 2
Hard tabs

(MD010, no-hard-tabs)


44-44: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


63-63: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 74eee97 and 6249585.

📒 Files selected for processing (2)
  • README.md (1 hunks)
  • docs/СхемыЗапросов.md (1 hunks)
🧰 Additional context used
🪛 Markdownlint (0.37.0)
docs/СхемыЗапросов.md

50-50: Column: 6
Hard tabs

(MD010, no-hard-tabs)


52-52: Column: 6
Hard tabs

(MD010, no-hard-tabs)


54-54: Column: 6
Hard tabs

(MD010, no-hard-tabs)


99-99: Column: 2
Hard tabs

(MD010, no-hard-tabs)


100-100: Column: 2
Hard tabs

(MD010, no-hard-tabs)


102-102: Column: 2
Hard tabs

(MD010, no-hard-tabs)


44-44: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


63-63: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (2)
README.md (1)

27-27: Корректное добавление новой подсистемы!

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

docs/СхемыЗапросов.md (1)

1-12: Отличное описание назначения подсистемы!

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

This comment has been minimized.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (3)
docs/СхемыЗапросов.md (3)

17-21: Рекомендуется добавить примеры кода в раздел требований

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

  1. Правильное сохранение родительских объектов
  2. Некорректные сценарии использования объектов разных схем

41-42: Добавьте описание параметров функции

Для функции ДобавитьОтборВЗапрос следует добавить описание параметров:

  • Что представляет собой параметр Запрос.Текст
  • В каком формате должно быть передано условие

95-95: Добавьте описание параметров функции УстановитьКоличествоПолучаемыхЗаписей

Рекомендуется описать назначение параметров:

  • Что означает значение 1
  • Для чего используется параметр 0
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6249585 and 4fb684b.

⛔ Files ignored due to path filters (1)
  • docs/images/ОбъектнаяМодельСхемаЗапроса.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • docs/СхемыЗапросов.md (1 hunks)
🧰 Additional context used
🪛 Markdownlint (0.37.0)
docs/СхемыЗапросов.md

52-52: Column: 6
Hard tabs

(MD010, no-hard-tabs)


54-54: Column: 6
Hard tabs

(MD010, no-hard-tabs)


56-56: Column: 6
Hard tabs

(MD010, no-hard-tabs)


101-101: Column: 2
Hard tabs

(MD010, no-hard-tabs)


102-102: Column: 2
Hard tabs

(MD010, no-hard-tabs)


104-104: Column: 2
Hard tabs

(MD010, no-hard-tabs)


46-46: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


65-65: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (1)
docs/СхемыЗапросов.md (1)

13-13: Проверьте наличие изображения схемы

Ссылка на изображение ./images/ОбъектнаяМодельСхемаЗапроса.png может быть недействительной. Убедитесь, что файл существует в репозитории.

✅ Verification successful

Изображение схемы присутствует в репозитории

Файл ОбъектнаяМодельСхемаЗапроса.png корректно размещен в директории docs/images/, поэтому относительная ссылка на изображение в документации работает правильно.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the image file exists
fd -t f "ОбъектнаяМодельСхемаЗапроса.png" docs/images/

Length of output: 290

docs/СхемыЗапросов.md Outdated Show resolved Hide resolved
docs/СхемыЗапросов.md Outdated Show resolved Hide resolved
denisushakov and others added 2 commits December 26, 2024 17:03
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link

Passed

Analysis Details

0 Issues

  • Bug 0 Bugs
  • Vulnerability 0 Vulnerabilities
  • Code Smell 0 Code Smells

Coverage and Duplications

  • Coverage No coverage information (12.80% Estimated after merge)
  • Duplications No duplication information (0.40% Estimated after merge)

Project ID: PSSL

View in SonarQube

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (24)
docs/puml/ОбъектнаяМодельСхемаЗапроса.puml (17)

1-9: Обратите внимание на масштаб диаграммы.

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


10-13: Уточните назначение свойства ПакетЗапросов.

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


17-20: Неочевидное назначение класса «ЗапросУничтоженияТаблицыСхемыЗапроса».

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


21-44: Полезно указать дополнительные связи в «ЗапросВыбораСхемыЗапроса».

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


87-100: Используйте комментарии или описания для абстрактного класса «ТипПараметраДоступнойТаблицы».

Внутри абстрактного класса много свойств (Вариант, Значение, Массив и т.д.). Для стороннего наблюдателя неочевидно, как эти свойства используются. Рекомендуется добавить короткое описание к каждому свойству.


126-133: Раскройте назначение «ВыраженияИндекса».

При первом взгляде не совсем понятно, о каких индексах идёт речь (база данных? группировка?). Возможно, стоит уточнить механизмы, для которых предназначен этот блок.


134-152: Целесообразность объединения «Колонки» и «ПоляКолонки».

У нас есть перечисление Колонки и класс Колонка, а также перечисление ПоляКолонки. Чрезмерное количество сущностей может усложнить понимание. Подумайте, не стоит ли объединить некоторые сущности или более явно показать, почему они разделены?


172-179: Добавьте краткое описание назначений «ВыраженияПорядка».

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


180-201: Рассмотрите добавление методов к классу «ОператорВыбрать».

В классе ОператорВыбрать представлены поля (ВыбираемыеПоля, Группировка, Отбор и т.д.), но не отражено, как с ними работать. Было бы удобнее увидеть методы, которые поясняют основные операции (например, «ДобавитьПоле», «УстановитьОтбор» и т.п.).


203-211: Логика «ВложеннойТаблицы» требует уточнения.

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


221-227: Уточните связь «ВложенныйЗапрос» с другими классами.

В UML видно, что ВложенныйЗапрос ссылается на Операторы, ДоступныеПоля и т.д. При этом надо чётче разделить, когда выгодно использовать вложенный запрос, а когда — обычную таблицу или источник.


229-233: Актуализируйте описание класса «ОписаниеВременнойТаблицы».

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


235-243: Уточните в UML, что такое «ПараметрыТаблицы» для класса «Таблица».

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


248-251: Уточните необходимость отдельного класса «ПараметрТаблицы».

Наличие класса на четыре строки может быть оправданным, но если он содержит только Выражение : ВЫРАЖЕНИЕ, возможно, стоит объединить со смежными сущностями.


252-254: Обратите внимание на перечисление «Выражения».

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


258-260: Уточните ограничения класса «ТаблицаДляИзменения».

Сейчас видно только «ИмяТаблицы : СТРОКА». Возможно, стоит описать (или добавить свойства) условия, при которых таблица может быть изменена (пример: права доступа, режим блокировки и т.д.).


266-338: Высока плотность диаграммы.

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

docs/СхемыЗапросов.md (7)

1-14: Рекомендация к оформлению заголовка и описания.

Заголовок «Подсистема "схемы запросов"» может быть стилем унифицирован с другими подсистемами (например, использовать заглавные буквы). Также рекомендуется дать немного больше вводного контекста или описать цель подсистемы, прежде чем переходить к деталям.


15-22: Чётко разделите требования и пояснения.

Пункты про «Сохранение родительских объектов» и «Уникальность объектов схемы запроса» несут важный смысл. Рекомендуется оформить их списком или подзаголовками, чтобы не затерялись в тексте.


23-38: Выделяйте неправильные и правильные решения отдельными подзаголовками.

В примерe 1 можно визуально разделить «Неправильно» и «Правильно» на разные блоки или использовать подчёркнутые заголовки (###). Так у читателя будет лучшее понимание.


39-44: Призыв к более явным примерам.

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


46-64: Учтите форматирование Markdown для заголовков примерoв.

Согласно подсказкам анализа (MD036), вместо **Пример 2:** стоит использовать полноценный заголовок, например ### Пример 2. Это улучшит структуру документа.

🧰 Tools
🪛 Markdownlint (0.37.0)

52-52: Column: 6
Hard tabs

(MD010, no-hard-tabs)


54-54: Column: 6
Hard tabs

(MD010, no-hard-tabs)


56-56: Column: 6
Hard tabs

(MD010, no-hard-tabs)


46-46: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


65-97: Предложение аналогичного подхода к Примеру 3.

Имеется та же проблема с оформлением примеров (MD036). Рекомендуется унифицировать все заголовки примерoв, чтобы повысить читабельность.

🧰 Tools
🪛 Markdownlint (0.37.0)

65-65: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


98-116: Просьба устранить «жёсткие табуляции» в Markdown.

Анализатор (MD010) указывает на использование твёрдых табов в строках с номерами 52, 54, 56, а также 101-102, 104 и так далее. Рекомендуется заменить табуляцию на пробелы для обеспечения единообразного стиля.

-	|	ТестОстатки.Склад КАК Склад,
+    |   ТестОстатки.Склад КАК Склад,
🧰 Tools
🪛 Markdownlint (0.37.0)

101-101: Column: 2
Hard tabs

(MD010, no-hard-tabs)


102-102: Column: 2
Hard tabs

(MD010, no-hard-tabs)


104-104: Column: 2
Hard tabs

(MD010, no-hard-tabs)


98-98: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4fb684b and 66dbc4e.

⛔ Files ignored due to path filters (1)
  • docs/images/ОбъектнаяМодельСхемаЗапроса.svg is excluded by !**/*.svg
📒 Files selected for processing (2)
  • docs/puml/ОбъектнаяМодельСхемаЗапроса.puml (1 hunks)
  • docs/СхемыЗапросов.md (1 hunks)
🧰 Additional context used
🪛 Markdownlint (0.37.0)
docs/СхемыЗапросов.md

52-52: Column: 6
Hard tabs

(MD010, no-hard-tabs)


54-54: Column: 6
Hard tabs

(MD010, no-hard-tabs)


56-56: Column: 6
Hard tabs

(MD010, no-hard-tabs)


101-101: Column: 2
Hard tabs

(MD010, no-hard-tabs)


102-102: Column: 2
Hard tabs

(MD010, no-hard-tabs)


104-104: Column: 2
Hard tabs

(MD010, no-hard-tabs)


46-46: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


65-65: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


98-98: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (10)
docs/puml/ОбъектнаяМодельСхемаЗапроса.puml (10)

14-16: Уточните назначения значений перечисления.

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


45-86: Проверьте согласованность названий классов «ВыраженияИтогов» и «ВыражениеИтога».

В UML встречается пара “ВыраженияИтогов → ВыражениеИтога”, однако не видно чёткого комментария, объясняющего их различия и связь «один-ко-многим» или «многие-ко-многим». Лучше явно показать эту связь в диаграмме.


101-125: Уточните различие между «ДоступныеТаблицы» и «ДоступнаяТаблица/ГруппаДоступныхТаблиц».

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


153-171: Уточните механику «КонтрольныхТочекИтогов».

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


212-220: Предусмотрите детальный комментарий к классу «Источник».

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


245-247: Пустое перечисление «ПараметрыТаблицы».

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


255-257: Добавьте контекст о «ТаблицыДляИзменения».

Перечисление пока пустое. Укажите, какие таблицы предполагается здесь перечислять (например, временные, основные, внешние?).


262-265: Проверка направления стрелок в связях (Запрос).

Строки 262…265 показывают связи СхемаЗапроса <- ПакетЗапросовСхемыЗапроса, но не до конца ясно, где именно «родитель», а где «дочерний» элемент. Уточните смысл отношений, чтобы диаграмма максимально точно отражала реальную архитектуру.


339-340: Грамотное решение с выделением «РольПоля» в отдельный класс.

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


341-341: Завершение диаграммы.

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
docs/СхемыЗапросов.md (2)

29-35: Улучшите читаемость кода, добавив указание языка

Для улучшения подсветки синтаксиса в блоках кода рекомендуется явно указать язык. Замените ```BSL на ```bsl (в нижнем регистре) для всех блоков кода.

Also applies to: 39-44, 49-63, 69-81, 86-90, 95-95, 99-105, 109-109, 115-115


5-11: Дополните описание подсистемы примерами использования

Рекомендуется добавить краткий пример использования подсистемы сразу после описания основных преимуществ. Это поможет читателю быстрее понять практическую пользу от использования подсистемы.

Хотите, чтобы я предложил краткий пример для добавления в описание?

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 66dbc4e and c88c718.

📒 Files selected for processing (1)
  • docs/СхемыЗапросов.md (1 hunks)
🧰 Additional context used
🪛 Markdownlint (0.37.0)
docs/СхемыЗапросов.md

52-52: Column: 6
Hard tabs

(MD010, no-hard-tabs)


54-54: Column: 6
Hard tabs

(MD010, no-hard-tabs)


56-56: Column: 6
Hard tabs

(MD010, no-hard-tabs)


101-101: Column: 2
Hard tabs

(MD010, no-hard-tabs)


102-102: Column: 2
Hard tabs

(MD010, no-hard-tabs)


104-104: Column: 2
Hard tabs

(MD010, no-hard-tabs)


46-46: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


65-65: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


98-98: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (3)
docs/СхемыЗапросов.md (3)

98-98: Исправьте форматирование заголовка примера

В строке отсутствует закрывающая кавычка для заголовка примера.

-**Пример 4. Добавление условий в виртуальную таблицу
+**Пример 4. Добавление условий в виртуальную таблицу**
🧰 Tools
🪛 Markdownlint (0.37.0)

98-98: null
Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


13-13: Проверьте наличие файла изображения

Ссылка на изображение объектной модели может быть недействительной. Убедитесь, что файл ./images/ОбъектнаяМодельСхемаЗапроса.svg существует в указанном расположении.

✅ Verification successful

Изображение объектной модели найдено

Файл ./images/ОбъектнаяМодельСхемаЗапроса.svg существует в указанном расположении, поэтому ссылка на изображение в документации является действительной.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the image file exists
fd -e svg "ОбъектнаяМодельСхемаЗапроса" ./docs/images

Length of output: 291


59-59: ⚠️ Potential issue

Исправьте синтаксическую ошибку в строковом литерале

В строке присутствует синтаксическая ошибка - некорректное значение Список значений без кавычек.

-Поля.Добавить("пбп_ПредопределенныеЗначения.СписокЗначений", Список значений);
+Поля.Добавить("пбп_ПредопределенныеЗначения.СписокЗначений", "Список значений");

Likely invalid or redundant comment.

| пбп_ПредопределенныеЗначения.Ссылка В(&СписокПредопределенных)";

Поля = Новый СписокЗначений;
Поля.Добавить("пбп_ПредопределенныеЗначения.СписокЗначений", Список значений);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Список значений" наверное в кавычках должно быть

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Точно, исправлю

```

Правильно:
Используйте функцию ``ДобавитьУсловиеВЗапрос``:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Т.е. условие работает именно на виртуальную таблицу, а отбор на ГДЕ?
И ещё вопрос - а можно ли редактировать запрос если он состоит из нескольких пакетов? Например добавить что-то во временную таблицу и потом в итоговый запрос? Если да, пример был бы не лишним

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Для секции ГДЕ функция ДобавитьОтборВЗапрос, для виртуальных таблиц ДобавитьУсловиеВЗапрос
Можно, добавлю

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Добавить документацию по модулю схемы запросов
2 participants