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

Устранение неполадок

  • «база … занята» — копию ИБ держит другой процесс 1С (Конфигуратор, сеанс): закройте его. ОТК снимает только висячие блокировки и чужие процессы не завершает.
  • «копию ИБ проверяет другой прогон ОТК» / «копия ИБ занята другим прогоном ОТК» — два прогона на одной базе (CI и локальный, два раннера) идут по очереди: второй ждёт до environment.lockTimeout секунд (900), затем код 2 (ib-busy) с PID и командой держателя. Блокировка — файл <каталог ИБ>.otk-lock рядом с файловой базой; серверной (/S…) — во временном каталоге пользователя, то есть только в пределах одной учётной записи машины. Держит до конца своего процесса, при аварийном завершении ОС снимает её сама.
  • «платформа 1С не найдена» — задайте environment.platform или OTK_PLATFORM (каталог bin).
  • «COM недоступен» / «подключение не удалось» — приоритет у COM (быстрее), но проверка от него не зависит: если соединитель версии платформы базы не зарегистрирован (V83/V85.COMConnector) или не подключается не из-за кода (другая версия, лицензия), серверные пробы и разбор запросов идут через тонкий клиент (YAxUnit), в сводке — примечание. Ошибка компиляции при подключении (модуль сеанса, глобальные модули) — находка. Вернуть COM — зарегистрировать соединитель (regsvr32 comcntr.dll из каталога bin платформы, от администратора); всегда без COM — executors.server = "yaxunit". Хук Platform Tools в рабочую базу YAxUnit не ставит: без COM его пробы пропускаются с примечанием. YAxUnit компилирует в контексте «Сервер», без внешнего соединения: модуль внешнего соединения и код под #Если ВнешнееСоединение в обход COM — «не проверено». Внешнее соединение локально не проверять вовсе — убрать ExternalConnection из environment.contexts: COM не запускается, такой код — «не покрыто этим прогоном».
  • Конфликт имён YAxUnit с конфигурацией — ОТК сам переустанавливает YAxUnit с переименованием конфликтующего модуля (сообщение в журнале прогона). Не помогло за 4 попытки — пробы YAxUnit «не проверено» с именами конфликта (при on — сбой инфраструктуры, код 2); сообщите имена в задаче.
  • Конфигуратор или ibcmd. Частичную загрузку, обновление БД и расширения ОТК делает инструментом из environment.ibTool: по умолчанию пакетным Конфигуратором — на Windows он быстрее (ibcmd тратит около 2,5 с на запуск, на ERP наравне или до 30 % медленнее). ibcmd не нужен графический сеанс; база на сервере (/S…) — всегда Конфигуратор. Полная загрузка выгрузки — ibcmd, если он есть: на отраслевой конфигурации (12,9 тыс. файлов) 56 с против 182 с у Конфигуратора. ibcmd прервался с «запрашивает имя пользователя» — в базе есть пользователи: задайте environment.user и environment.password.
  • Нет ibcmd. ibcmd ставится с компонентами сервера 1С:Предприятия; в клиентской установке платформы его нет, otk doctor это показывает. ОТК работает и без него: полная загрузка — Конфигуратором (втрое медленнее, в сводке примечание), безопасный режим с YAxUnit и расширения проб снимается внешним соединением (COM). Без ibcmd и COM (Linux) снять безопасный режим нечем — пробы YAxUnit недоступны: поставьте компоненты сервера. ibTool = "ibcmd" без ibcmd — сбой до начала проверки: поставьте компоненты сервера или выберите designer.
  • Окно клиента 1С не видно — так задумано: на Windows клиент с YAxUnit (пробы, сценарии) запускается на отдельном скрытом рабочем столе и не всплывает поверх работы и не забирает фокус (раннер CI в сеансе пользователя, хук pre-push). Чтобы видеть окно при отладке — environment.hiddenDesktop = false или OTK_HIDDEN_DESKTOP=0. Зависший клиент (модальное окно ошибки) распознаётся по журналу регистрации и таймауту и завершается. На Linux Конфигуратор и клиенты открываются на своём Xvfb ОТК.
  • Linux: «нет Xvfb и DISPLAY» — окнам 1С негде открыться: sudo apt install xvfb (linux.md). Конфигуратор не запускается совсем (ldd … not found, нет пункта активации лицензии) — установка платформы.