Настройки (otk.toml / otk.local.toml)¶
Приоритет: аргументы командной строки («Только командная строка») >
переменные OTK_* > otk.local.toml > otk.toml > умолчания. Переменная переопределяет настройку проекта под
себя (своя платформа, своя копия ИБ); что взято из переменных, показывает otk doctor. Неизвестный раздел или
ключ (опечатка) — предупреждение в doctor и в примечаниях сводки.
Образец со всеми ключами — otk.example.toml.
| Переменная | Ключ |
|---|---|
OTK_IB, OTK_USER, OTK_PASSWORD |
environment.ib, user, password |
OTK_PLATFORM, OTK_COM, OTK_IB_TOOL |
environment.platform, comConnector, ibTool |
OTK_YAXUNIT, OTK_EDTCLI |
environment.yaxunit, edtcli |
OTK_BSLLS, OTK_BSL_ANALYZER |
environment.bslls, bslAnalyzer |
OTK_RUN_DIR, OTK_HIDDEN_DESKTOP |
environment.runDir, hiddenDesktop (0, false, no — ложь) |
Без ключа в настройках: OTK_CACHE — кэш ОТК (справка платформы, таблицы доступности), OTK_BASES — файл баз
otk console.
| Раздел | Ключ | Что |
|---|---|---|
project |
source |
каталог выгрузки или проекта EDT относительно корня репозитория (src/cf; не задан, а в src/cf выгрузки нет — корень репозитория, если выгрузка там) |
parent, extension |
для расширения: выгрузка основной конфигурации и имя (по умолчанию — из Configuration.xml) | |
environment |
ib, user, password |
своя копия ИБ и вход в неё |
lockTimeout |
сколько секунд ждать, пока ту же базу проверяет другой прогон ОТК (900), затем код 2 (ib-busy) — см. «Устранение неполадок» |
|
connection, keepTools, loadProject |
рабочая база вместо копии (/F…, /S…), см. «Рабочая база вместо копии» |
|
platform, comConnector, bslls, yaxunit |
инструменты (первые три находятся сами) | |
bsllsTimeout, bsllsBatchMB |
тайм-аут прогона BSL LS и размер пакета текста для большого прогона (200 МБ) — см. «Сводка и коды выхода» | |
helpDir, helpAuto |
копия справки платформы (каталог с именем версии) и автосборка её индекса (true; false — только предупреждение с командой) — см. «Проверки и зависимости» |
|
hiddenDesktop |
клиент 1С на скрытом рабочем столе Windows (true; false — видеть окно при отладке, OTK_HIDDEN_DESKTOP) |
|
ibTool |
чем ОТК меняет конфигурацию копии ИБ — частичная загрузка, выгрузка, обновление БД, расширения: designer (пакетный Конфигуратор, по умолчанию) или ibcmd (OTK_IB_TOOL). Полная загрузка выгрузки — ibcmd, если он есть (без него — Конфигуратор), база на сервере (/S…) — всегда Конфигуратор; ibcmd без ibcmd в каталоге платформы — сбой; см. «Конфигуратор или ibcmd» в troubleshooting.md |
|
analyzer, bslAnalyzer, bslAnalyzerTimeout |
анализатор BSL проверки analyzers: bslls (BSL LS, по умолчанию), bsl-analyzer или both — для всех форматов или таблицей по формату выгрузки ([environment.analyzer] designer-xml = "both", edt = "bslls"); путь к bsl-analyzer (OTK_BSL_ANALYZER или PATH) и тайм-аут его прогона (1800 с) — см. «Анализаторы BSL» |
|
edtcli, edtTimeout |
1cedtcli и тайм-аут экспорта для исходников EDT (см. «Формат EDT») |
|
contexts |
контексты проб, доступные локально (Server, ThinClient, ExternalConnection); без ExternalConnection COM не используется, серверное — через YAxUnit, внешнее соединение — «не покрыто этим прогоном» |
|
ordinaryApplication |
конфигурация работает и в обычном приложении | |
webClient |
конфигурация работает в веб-клиенте: метод, свойство или тип платформы, недоступные в веб-клиенте, — ошибка, а не предупреждение | |
minPlatform, compatWarnings |
предупреждения «новее режима совместимости» своей линейки: только новее минимальной платформы (--min-platform 8.3.24) или никаких (false, --no-compat-warnings); скрытые считаются в примечаниях, ошибки новой линейки остаются |
|
executors.server |
auto (COM, иначе YAxUnit) или yaxunit |
|
runDir |
каталог прогонов (%TEMP%/otk, OTK_RUN_DIR) |
|
checks |
имя проверки | on / auto / off — см. «Проверки и зависимости» |
platformNames |
methods, constructors, globals, forms, managerMethods |
дополнение словаря имён платформы — см. «Словарь имён платформы» |
analyzerSeverity |
bslls, bsl-analyzer |
какие правила анализаторов BSL — ошибки: error — добавить, warning — снять — см. «Уровень находок анализаторов» |
[[queries.resolvers]] |
name, command, timeout |
внешние восстановители собранных запросов (выключены) — см. «Известные пределы» |
hook |
base, mode, fast, infraFail |
хук pre-push |
designerCheck |
modes, baseline |
режимы и базовая линия проверки всех модулей (otk designer-check) |
smoke |
exclude, timeout, severity |
дымовой тест открытия изменённых форм |
scenarios |
path |
каталог сценарных тестов (по умолчанию tests/cfe) — см. «Проверки и зависимости» |
report |
open |
открыть сводку после прогона (html) — см. «Сводка и коды выхода» |
scaffold |
extension, draft |
заготовки тестов: тестовое расширение и команда черновика |
Словарь имён платформы¶
Статика знает методы, типы и системные перечисления платформы по справке синтакс-помощника. Имена, которых в
справке нет, а Конфигуратор их принимает, и стандартные имена объектов метаданных лежат во встроенном словаре
platform-names.toml:
| Ключ | Что | Проверка |
|---|---|---|
methods |
метод без точки (устаревшие методы, которые платформа поддерживает) | platform-api |
constructors |
тип в Новый Тип |
platform-api |
globals |
имя перед точкой (Имя.Значение): системные перечисления и значения |
platform-api, «Переменная не определена» |
forms |
стандартная форма объекта (ФормаСписка) |
form-name |
managerMethods |
начало имени стандартного метода менеджера (Создать, ПустаяСсылка) |
manager-method |
Ложная находка на имени, которое платформа принимает (например, после обновления платформы), — допишите имя в
раздел [platformNames] своего otk.toml или otk.local.toml, не дожидаясь выпуска ОТК. Списки объединяются
со встроенными, регистр не важен, русское и английское имя — отдельными строками:
[platformNames]
globals = ["НовоеСистемноеПеречисление", "NewSystemEnum"]
Неизвестный ключ или значение не списком — примечание в сводке, раздел не применяется, прогон продолжается.
Уровень находок анализаторов¶
Новое замечание анализатора BSL (проверка analyzers) — ошибка, если его правило во встроенном списке
(ParseError, ProcedureReturnsValue, UnknownPreprocessorSymbol, ThisObjectAssign — у обоих анализаторов),
остальные — предупреждения («Находки»). Новая версия анализатора может переименовать правило или
добавить своё — поправьте список разделом [analyzerSeverity], не дожидаясь выпуска ОТК. Для каждого анализатора
(bslls — BSL LS, bsl-analyzer) error добавляет правила к ошибкам, warning снимает их до предупреждений; имя
правила — как в находке после двоеточия, с учётом регистра:
[analyzerSeverity]
bslls = { error = ["UsingModalWindows"] }
bsl-analyzer = { error = ["UnresolvedMethodCall"], warning = ["ThisObjectAssign"] }
Набор правил, которые анализатор вообще проверяет, задаёт его конфигурация (.bsl-language-server.json,
bsl-analyzer.toml), а не этот раздел. Неизвестный анализатор или ключ, значение не списком, одно правило и в
error, и в warning — примечание в сводке, раздел не применяется, прогон продолжается.
Расширения¶
Для проекта-расширения задайте source (выгрузка расширения) и parent (выгрузка основной
конфигурации); расширение и его имя распознаются по Configuration.xml выгрузки (extension — только чтобы
переопределить имя). Без parent ссылки на основную конфигурацию не проверить — такие находки статики
понижаются до предупреждений. Модули расширения пробуются в копии ИБ с расширением;
расширенная проверка — /CheckModules … -ExtendedModulesCheck -Extension <имя> самого расширения
(на небольшом расширении — секунды). Для небольших расширений удобен gate --all.