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

ОТК и проверка Конфигуратором: контрольные дефекты

Таблица сгенерирована командой otk controls --parity --doc docs/vs-designer.md; руками не править. Каждый дефект вносится в отдельный модуль коммитом вне веток, затем — otk gate по этому коммиту и проверка Конфигуратором в той же копии ИБ: синтаксический контроль всех модулей /CheckModules и полная проверка конфигурации /CheckConfig.

  • Конфигурация: Демо: склад (otk-1c) 1.0.0
  • Платформа: 8.5.1.1529; режим совместимости: Version8_3_21
  • Режимы /CheckModules: -ThinClient -WebClient -Server -ExternalConnection -ExtendedModulesCheck
  • Флаги /CheckConfig: -ConfigLogIntegrity -IncorrectReferences -HandlersExistence -UnreferenceProcedures -EmptyHandlers -ThinClient -ThickClientManagedApplication -ThickClientServerManagedApplication -WebClient -Server -ExternalConnection -ExternalConnectionServer -ExtendedModulesCheck -CheckUseModality -CheckUseSynchronousCalls
  • Коммит: 307ceedcc8, дата прогона: 2026-10-23

«Синтаксический контроль» — /CheckModules основной конфигурации; «В расширении» — тот же код, заимствованный во временное расширение, как это делает шаг extcheck ОТК (/CheckModules … -Extension otk_check); «Полная проверка» — /CheckConfig со всеми применимыми к конфигурации флагами (неиспользуемые процедуры и пустые обработчики на вердикт не влияют: он — по маркеру дефекта). «да» — ошибка с маркером дефекта в выводе по его модулю, «нет» — её нет, «—» — не проверялось. «ОТК» — пойман ожидаемым шагом; шаги — все шаги ОТК с находкой в файлах дефекта.

Дефект ОТК Шаги ОТК Конфигуратор: синтаксический контроль (/CheckModules) В расширении (/CheckModules -Extension otk_check) Конфигуратор: полная проверка (/CheckConfig)
синтаксическая ошибка в невызываемой функции серверного модуля да run:com, run:extcheck, static:bslls:ParseError да да да
необъявленная переменная да run:com, run:extcheck да да да
вызов несуществующей процедуры модуля да run:com, run:extcheck, static:platform-api да да да
Справочники.<опечатка> в неисполняемой ветке да run:extcheck, static:metadata-ref да да да
несуществующий предопределённый элемент да run:extcheck, static:metadata-ref да да да
Новый для типа платформы без конструктора да run:com, run:extcheck, static:platform-api да да да
удалён экспортный метод с вызывающими да run:yaxunit, static:dependent да нет да
несуществующая форма в ПолучитьФорму("…") да run:extcheck, static:form-name да да да
метод, недоступный только в веб-клиенте (КомандаСистемы) да run:extcheck да да да
Вопрос() в модуле объекта вне #Если да run:com, run:extcheck, static:bslls:ParseError, static:platform-api да да да
ошибка в клиентской процедуре модуля формы да run:extcheck, run:yaxunit, static:bslls:ParseError да да да
переименован обработчик события формы 1 да run:yaxunit, static:handler нет нет да
вызов несуществующей процедуры в модуле формы да run:extcheck, run:yaxunit, static:platform-api да да да
вызов несуществующей процедуры в модуле объекта да run:com, run:extcheck, static:bslls:ParseError, static:platform-api да да да
исключение в обработчике открытия формы 2 да run:yaxunit нет нет нет
зависание формы при открытии (бесконечный цикл в ПриОткрытии) 3 да run:yaxunit нет нет нет
опечатка в поле запроса 4 да run:com нет нет нет
лишний параметр в вызове экспортного метода 5 да static:common-method нет нет нет
метод, недоступный только в веб-клиенте, в модуле формы да run:extcheck да да да
метод более новой линейки платформы, чем режим совместимости: ПолучитьОбщуюПалитруЦветовЗначковТаблицы (8.5.1) 6 да run:com, run:extcheck, static:platform-api да да да
метод новее режима совместимости той же линейки: ЗаписатьЗначениеJSON (8.3.23) 7 да (предупреждение) static:platform-api нет нет нет
конструктор новее режима совместимости: ГенераторСлучайныхПаролей (8.3.22) 8 да (предупреждение) static:platform-api нет нет нет
ошибка в модуле сеанса 9 да run:yaxunit, static:bslls:ParseError — — —
время на пакет, с 10 57 — 1 — 1

Расхождение эталонов

  • удалён экспортный метод с вызывающими: основная — да, в расширении — нет. В расширение заимствуется только изменённый модуль; вызывающие его модули — нет, поэтому удалённый метод там не ищется. ОТК находит вызывающих статикой (зависимые модули)

  1. /CheckModules не сверяет обработчики событий с описанием формы — это делает /CheckConfig -HandlersExistence ↩

  2. ошибка выполнения, а не компиляции: видна только при открытии формы (дымовой тест) ↩

  3. ошибка выполнения: форма не закрылась за отведённое время ([smoke] timeout) ↩

  4. текст запроса для компилятора — строка; ОТК разбирает запрос платформой (COM или тонкий клиент) ↩

  5. число параметров экспортного метода общего модуля при вызове через имя модуля компилятор не проверяет ↩

  6. режим совместимости ниже линейки платформы: Конфигуратор не определяет метод более новой линейки ↩

  7. метод своей линейки новее режима совместимости Конфигуратор пропускает; на платформе ниже версии появления модуль не скомпилируется — ОТК предупреждает ↩

  8. конструктор новее режима совместимости Конфигуратор пропускает в любой линейке — ОТК предупреждает ↩

  9. дефект модуля сеанса — отдельный прогон без проверки Конфигуратором ↩

  10. среднее по пакетам дефектов (2); ОТК — весь otk gate пакета (загрузка изменений в копию ИБ, статика, пробы, extcheck, дымовой тест), Конфигуратор — проверка всей конфигурации в уже загруженной копии ↩