Перейти к содержанию

BSL271 — Использование объектов недоступных в Unix системах

Кратко

Использование объектов недоступных в Unix системах

Идентификаторы

Поле Значение
Код правила BSL271
Совместимый псевдоним UsingObjectNotAvailableUnix
Серьёзность WARNING
Включено по умолчанию Да
Реализовано Да
Теги compatibility

Поведение

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

Настройка и подавление

Код BSL### — основной стабильный идентификатор. Совместимый псевдоним принимается в select, ignore и совместимых блоковых комментариях.

[tool.onec-hbk-bsl]
select = ["BSL271"]
ignore = ["UsingObjectNotAvailableUnix"]

Все три семейства подавлений работают для текущей строки и диапазона. Если открывающий комментарий стоит после кода, он действует только на эту строку. Используйте любой один вариант:

  • noqa:
Значение = "пример";  // noqa: BSL271
  • bsl-disable (совместимый вариант):
Значение = "пример";  // bsl-disable: BSL271
  • совместимый BSLLS-вариант:
Значение = "пример";  // BSLLS:UsingObjectNotAvailableUnix-off

Если тот же открывающий комментарий стоит на отдельной строке, он начинает диапазон. Закройте его парным маркером того же семейства:

// noqa: BSL271
// код без этой диагностики
// noqa-enable: BSL271

// bsl-disable: BSL271
// код без этой диагностики
// bsl-enable: BSL271

// BSLLS:UsingObjectNotAvailableUnix-off
// код без этой диагностики
// BSLLS:UsingObjectNotAvailableUnix-on

Чтобы отключить правило до конца файла, не добавляйте закрывающий noqa-enable, bsl-enable или BSLLS:…-on.

Открывающий и закрывающий маркеры должны принадлежать одному семейству.

Описание диагностики

В ОС Linux недоступны механизмы COM, OLE, ActiveDocument. Для интеграции необходимо использовать другие средства, например файловый обмен в формате XML или web-сервисы. Внешние компоненты, реализованные по COM-технологии, рекомендуется переработать с использованием технологии NativeAPI.

Отслеживаемые механизмы, недоступные в Linux:

  • COMОбъект
  • Почта

Проверка значения выполнения условия пока не выполняется.

Дополнительно

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

  • Linux_x86
  • Windows
  • MacOs

Примеры

Компонента = Новый COMОбъект("System.Text.UTF8Encoding");

или

Почта = Новый Почта;
Вместо этого можно использовать ЗапуститьПриложение().

СистемнаяИнформация = Новый СистемнаяИнформация();
Если Не СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86 Или ТипПлатформы.Linux_x86_64 Тогда
    Почта = Новый Почта;
КонецЕсли

Источники