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

Внесены правки в описания диагностик #1940

Merged
merged 1 commit into from
Dec 31, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions docs/diagnostics/AssignAliasFieldsInQuery.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@
## Описание диагностики
<!-- Описание диагностики заполняется вручную. Необходимо понятным языком описать смысл и схему работу -->

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

```bsl
Касса.Валюта
```
при изменении имени реквизита нужно будет также изменить и код, осуществляющий обращение по имени свойства Валюта к выборке из результата запроса. Если же поле будет объявлено как

```bsl
Касса.Валюта КАК Валюта
```
Expand All @@ -27,7 +29,8 @@

## Примеры
<!-- В данном разделе приводятся примеры, на которые диагностика срабатывает, а также можно привести пример, как можно исправить ситуацию -->
```bsl

```bsl
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
Expand Down Expand Up @@ -73,7 +76,8 @@
| Валюты.Ссылка // Неправильно
| ИЗ
| Справочник.Валюты КАК Валюты) КАК ВложенныйЗапрос"; // Игнорируется
```
```

## Источники
<!-- Необходимо указывать ссылки на все источники, из которых почерпнута информация для создания диагностики -->
Источник: [Оформление текстов запросов](https://its.1c.ru/db/v8std#content:437:hdoc)
Expand Down
3 changes: 2 additions & 1 deletion docs/diagnostics/CodeBlockBeforeSub.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
## Описание диагностики
<!-- Описание диагностики заполняется вручную. Необходимо понятным языком описать смысл и схему работу -->

Структура программного модуля _(в общем виде)_ четко определена:
Структура программного модуля _(в общем виде)_ четко определена:

- сначала идет блок определения переменных
- затем определения процедур и функции
- затем блок кода модуля
Expand Down
3 changes: 2 additions & 1 deletion docs/diagnostics/CodeOutOfRegion.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#Область <ИмяОбласти>
```

Не смотря на то что в стандарте описано всего 10 имён, имена вложенных областей не проверяются.
Несмотря на то, что в стандарте описано всего 10 имён, имена вложенных областей не проверяются.

Правильно:
```bsl
Expand All @@ -39,6 +39,7 @@
```

Таблица соответствия английских имён (полный список в [исходном коде](https://github.com/1c-syntax/bsl-language-server/blob/develop/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/Keywords.java#L255)):

| русск. | англ. |
| ------------- | ------------- |
| ПрограммныйИнтерфейс | Public |
Expand Down
3 changes: 2 additions & 1 deletion docs/diagnostics/CrazyMultilineString.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
## Описание диагностики
<!-- Описание диагностики заполняется вручную. Необходимо понятным языком описать смысл и схему работу -->

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

- 'классический', в котором используется символ переноса строки и конкатенация строк
- 'странный', при котором строки разделяются пробельными символами

Expand Down
53 changes: 25 additions & 28 deletions docs/diagnostics/DeprecatedAttributes8312.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,35 +8,32 @@
## Описание диагностики
<!-- Описание диагностики заполняется вручную. Необходимо понятным языком описать смысл и схему работу -->
В платформе 8.3.12 следующие элементы стали устаревшими:
* Для системного перечисления ГруппировкаПодчиненныхЭлементовФормы реализовано значение ГоризонтальнаяВсегда.
Значение системного перечисления ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная считается устаревшим;
* Системное перечисление ОриентацияМетокДиаграммы более не доступно. Актуальный вариант ОриентацияПодписейДиаграммы;
* Свойства и методы объекта Диаграмма устарели и не рекомендуются к использованию:
* ПалитраЦветов;
* ЦветНачалаГрадиентнойПалитры;
* ЦветКонцаГрадиентнойПалитры;
* МаксимальноеКоличествоЦветовГрадиентнойПалитры;
* ПолучитьПалитру();
* УстановитьПалитру().
* Названия свойств объекта ОбластьПостроенияДиаграммы:
* ОтображатьШкалу;
* ЛинииШкалы;
* ЦветШкалы.
* Свойства объекта ОбластьПостроенияДиаграммы являются устаревшими,
не рекомендуются для использования и поддерживаются для совместимости:

* Для системного перечисления `ГруппировкаПодчиненныхЭлементовФормы` реализовано значение `ГоризонтальнаяВсегда`, значение `ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная` считается устаревшим
* Системное перечисление `ОриентацияМетокДиаграммы` более не доступно. Актуальный вариант `ОриентацияПодписейДиаграммы`
* Свойства и методы объекта Диаграмма устарели и не рекомендуются к использованию:
* `ПалитраЦветов`;
* `ЦветНачалаГрадиентнойПалитры`;
* `ЦветКонцаГрадиентнойПалитры`;
* `МаксимальноеКоличествоЦветовГрадиентнойПалитры`;
* `ПолучитьПалитру()`;
* `УстановитьПалитру()`.

* Названия свойств объекта `ОбластьПостроенияДиаграммы`:
* `ОтображатьШкалу`
* `ЛинииШкалы`
* `ЦветШкалы`

* Следующие свойства объекта `ОбластьПостроенияДиаграммы` являются устаревшими, не рекомендуются для использования и поддерживаются для совместимости:
* `ОтображатьПодписиШкалыСерии` - рекомендуется использовать `ШкалаСерий.ПоложениеПодписейШкалы`
* `ОтображатьПодписиШкалыТочек` - рекомендуется использовать `ШкалаТочек.ПоложениеПодписейШкалы`
* `ОтображатьПодписиШкалыЗначений` - рекомендуется использовать `ШкалаЗначений.ПоложениеПодписейШкалы`
* `ОтображатьЛинииЗначенийШкалы` - рекомендуется использовать `ШкалаЗначений.ОтображениеЛинийСетки`
* `ФорматШкалыЗначений` - рекомендуется использовать `ШкалаЗначений.ФорматПодписей`
* `ОриентацияМеток` - доступа рекомендуется использовать `ШкалаТочек.ОриентацияПодписей`

* ОтображатьПодписиШкалыСерии. Для доступа рекомендуется использовать ШкалаСерий.ПоложениеПодписейШкалы;
* ОтображатьПодписиШкалыТочек. Для доступа рекомендуется использовать ШкалаТочек.ПоложениеПодписейШкалы;
* ОтображатьПодписиШкалыЗначений. Для доступа рекомендуется использовать ШкалаЗначений.ПоложениеПодписейШкалы;
* ОтображатьЛинииЗначенийШкалы. Для доступа рекомендуется использовать ШкалаЗначений.ОтображениеЛинийСетки;
* ФорматШкалыЗначений. Для доступа рекомендуется использовать ШкалаЗначений.ФорматПодписей;
* ОриентацияМеток. Для доступа рекомендуется использовать ШкалаТочек.ОриентацияПодписей.
* Свойство ОтображатьЛегенду объектов Диаграмма, ДиаграммаГанта, СводнаяДиаграмма является устаревшим
и не рекомендуется для использования.
* Свойство ОтображатьЗаголовок объектов Диаграмма, ДиаграммаГанта, СводнаяДиаграмма является устаревшим и
не рекомендуется для использования.
* Метод глобального контекста ОчиститьЖурналРегистрации()
применим только к журналу в формата SQLite, признан устаревшим и его использование не рекомендуется.
* Свойства `ОтображатьЛегенду` и `ОтображатьЗаголовок` объектов `Диаграмма`, `ДиаграммаГанта`, `СводнаяДиаграмма` являются устаревшими и не рекомендуются для использования
* Метод глобального контекста `ОчиститьЖурналРегистрации()` применим только к журналу в формате `SQLite`, признан устаревшим и его использование не рекомендуется

## Источники
<!-- Необходимо указывать ссылки на все источники, из которых почерпнута информация для создания диагностики -->
Expand Down
19 changes: 11 additions & 8 deletions docs/diagnostics/DeprecatedMethods8317.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,17 @@
<!-- Блоки выше заполняются автоматически, не трогать -->
## Описание диагностики
<!-- Описание диагностики заполняется вручную. Необходимо понятным языком описать смысл и схему работу -->
В платформе 8.3.17 было реализовано свойство глобального контекста ОбработкаОшибок и
стандартная функция Управление настройками обработки ошибок, позволяющая настроить тексты ошибок.
Методы глобального контекста:
* КраткоеПредставлениеОшибки();
* ПодробноеПредставлениеОшибки();
* ПоказатьИнформациюОбОшибке() считаются устаревшими.

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

Методы глобального контекста считаются устаревшими:

* `КраткоеПредставлениеОшибки()`
* `ПодробноеПредставлениеОшибки()`
* `ПоказатьИнформациюОбОшибке()`

Необходимо использовать одноименные методы объекта `ОбработкаОшибок`.

## Источники
<!-- Необходимо указывать ссылки на все источники, из которых почерпнута информация для создания диагностики -->

Expand Down
5 changes: 3 additions & 2 deletions docs/diagnostics/JoinWithSubQuery.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@
При написании запросов не следует использовать соединения с вложенными запросами. Следует соединять друг с другом только объекты метаданных или временные таблицы.

Если запрос содержит соединения с вложенными запросами, то это может привести к следующим негативным последствиям:

- Крайне медленное выполнение запроса при слабой загрузке серверного оборудования
- Нестабильная работа запроса. При некоторых условиях запрос может работать достаточно быстро, при других - очень медленно
- Значительная разница по времени выполнения запроса на разных СУБД;
- Повышенная чувствительность запроса к актуальности и полноте статистик. Сразу после полного обновления статистик запрос может работать быстро, но через некоторое время опять замедлиться.
- Значительная разница по времени выполнения запроса на разных СУБД
- Повышенная чувствительность запроса к актуальности и полноте статистик. Сразу после полного обновления статистик запрос может работать быстро, но через некоторое время опять замедлиться

## Примеры
<!-- В данном разделе приводятся примеры, на которые диагностика срабатывает, а также можно привести пример, как можно исправить ситуацию -->
Expand Down
5 changes: 4 additions & 1 deletion docs/diagnostics/SelectTopWithoutOrderBy.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@
<!-- Описание диагностики заполняется вручную. Необходимо понятным языком описать смысл и схему работу -->

Использование конструкции `ПЕРВЫЕ N` без указания порядка сортировки в `УПОРЯДОЧИТЬ ПО` или условий в секции `ГДЕ` чревато получением неожиданных результатов:

- В разных СУБД порядок возвращаемых результатов может отличаться
- Порядок в разных копиях ИБ будет отличаться от порядка, который ожидает разработчик

По стандарту, отсутствие предложения `УПОРЯДОЧИТЬ ПО` оправдано только в тех случаях, когда

- алгоритм обработки результатов запроса не рассчитывает на определенный порядок записей
- результат обработки выполненного запроса не показывается пользователю
- результат запроса - заведомо одна запись
Expand All @@ -27,7 +29,8 @@

### Алгоритм работы диагностики

В процессе анализа считаются ошибочными конструкции
В процессе анализа считаются ошибочными конструкции:

- Использование `ПЕРВЫЕ N` в объединении вне зависимости от наличия `УПОРЯДОЧИТЬ ПО`, т.к. упорядочивание происходит уже после объединения
- Использование `ПЕРВЫЕ N`, где `N > 1` при отсутствии `УПОРЯДОЧИТЬ ПО`
- Использование `ПЕРВЫЕ 1`, при отсутствии `УПОРЯДОЧИТЬ ПО` и условий в `ГДЕ`. Данное правило по умолчанию отключено параметром диагностики
Expand Down
7 changes: 4 additions & 3 deletions docs/diagnostics/StyleElementConstructors.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@
Для изменения оформления следует использовать элементы стиля, а не задавать конкретные значения непосредственно в элементах управления. Это требуется для того, чтобы аналогичные элементы управления выглядели одинаково во всех формах, где они встречаются.

Виды элементов стиля:
* Цвет (задается значение RGB)
* Шрифт (задаются вид, размер и начертание)
* Рамка (задаются тип и ширина границ)

* `Цвет` - задается значение RGB
* `Шрифт` - задаются вид, размер и начертание
* `Рамка` - задаются тип и ширина границ

## Примеры
<!-- В данном разделе приводятся примеры, на которые диагностика срабатывает, а также можно привести пример, как можно исправить ситуацию -->
Expand Down
Loading