ОТК и проверка Конфигуратором: контрольные дефекты¶
Таблица сгенерирована командой 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 |
Расхождение эталонов¶
- удалён экспортный метод с вызывающими: основная — да, в расширении — нет. В расширение заимствуется только изменённый модуль; вызывающие его модули — нет, поэтому удалённый метод там не ищется. ОТК находит вызывающих статикой (зависимые модули)
-
/CheckModulesне сверяет обработчики событий с описанием формы — это делает/CheckConfig -HandlersExistence↩ -
ошибка выполнения, а не компиляции: видна только при открытии формы (дымовой тест) ↩
-
ошибка выполнения: форма не закрылась за отведённое время (
[smoke] timeout) ↩ -
текст запроса для компилятора — строка; ОТК разбирает запрос платформой (COM или тонкий клиент) ↩
-
число параметров экспортного метода общего модуля при вызове через имя модуля компилятор не проверяет ↩
-
режим совместимости ниже линейки платформы: Конфигуратор не определяет метод более новой линейки ↩
-
метод своей линейки новее режима совместимости Конфигуратор пропускает; на платформе ниже версии появления модуль не скомпилируется — ОТК предупреждает ↩
-
конструктор новее режима совместимости Конфигуратор пропускает в любой линейке — ОТК предупреждает ↩
-
дефект модуля сеанса — отдельный прогон без проверки Конфигуратором ↩
-
среднее по пакетам дефектов (2); ОТК — весь
otk gateпакета (загрузка изменений в копию ИБ, статика, пробы, extcheck, дымовой тест), Конфигуратор — проверка всей конфигурации в уже загруженной копии ↩