Skip to content

Стандарт 412: В запросе отсутствует проверка на NULL для поля, которое может потенциально содержать NULL. #163

@marmyshev

Description

@marmyshev

Название проверки

В запросе отсутствует проверка на NULL для поля, которое может потенциально содержать NULL.

Английское название проверки
??

Правило анализа кода/метаданных

1.2. При сортировке по полю запроса, которое может потенциально
содержать NULL, следует учитывать, что в разных СУБД порядок сортировки
по этому полю может отличаться.

Неправильно:

ВЫБРАТЬ
  СправочникНоменклатура.Ссылка КАК НоменклатураСсылка,
  ЗапасыОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
  Справочник.Номенклатура КАК СправочникНоменклатура
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Запасы.Остатки КАК
ЗапасыОстатки
    ПО (ЗапасыОстатки.Номенклатура = СправочникНоменклатура.Ссылка)

УПОРЯДОЧИТЬ ПО
  КоличествоОстаток

Правильно:

ВЫБРАТЬ
  СправочникНоменклатура.Ссылка КАК НоменклатураСсылка,
  ЕСТЬNULL(ЗапасыОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток
ИЗ
  Справочник.Номенклатура КАК СправочникНоменклатура
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Запасы.Остатки КАК
ЗапасыОстатки
    ПО (ЗапасыОстатки.Номенклатура = СправочникНоменклатура.Ссылка)

УПОРЯДОЧИТЬ ПО
  КоличествоОстаток

 

Мета-информация (пожалуйста, заполните если знаете):

  • Номер стандарта: 412
  • Код проверки: ??my-check-id
  • Тип ошибки: ERROR SECURITY PERFORMANCE WARNING PORTABILITY LIBRARY_DEVELOPMENT_AND_USAGE CODE_STYLE UI_STYLE SPELLING
  • Критичность: BLOCKER CRITICAL MAJOR MINOR TRIVIAL
  • Код ошибки АПК: 540

Параметры проверки

  • NA

Текст ошибки

В запросе отсутствует проверка на NULL для поля, которое может потенциально содержать NULL.

Пример некорректного решения

  • NA

Описание, почему так делать нельзя

Пример корректного решения

  • NA

Дополнительные материалы

Metadata

Metadata

Assignees

Labels

ql1C:Query Language, язык запросов 1СstandardsПоддержка стандартовАПКДоработка совместимоси с функциональностю АПК ред.1

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions