Skip to content
cccskills
FreePublished on GitHub

1c-check-bsl

Проверяет синтаксис изменённых BSL-модулей одной командой: статический разбор BSL Analyzer и компиляция платформой 1С в целевой ИБ. Используйте для модулей основной конфигурации, расширений и внешних обработок/отчётов.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md6.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Проверка BSL

Repo script: ./scripts/qa/check-bsl.sh Windows launcher: ./scripts/qa/check-bsl.ps1

Команда проверяет выбранные модули одного корня исходников и печатает две независимые оценки:

  • static — bsl-analyzer-app analyze только по выбранным модулям, диагностика ParseError; быстрый ответ, не финальная проверка;
  • platform — компиляция платформой 1С в ИБ runtime profile, на её версии платформы и в режиме совместимости её конфигурации.

Запуск

./scripts/qa/check-bsl.sh src/cf/CommonModules/Имя/Ext/Module.bsl
./scripts/qa/check-bsl.sh --mode fast src/cfe/<Расширение>/CommonModules/Имя/Ext/Module.bsl
./scripts/qa/check-bsl.sh --mode platform --profile env/local.json src/cf/Documents/Имя/Ext/ObjectModule.bsl
./scripts/qa/check-bsl.sh --profile env/local.json --dry-run src/cf/CommonModules/Имя/Ext/Module.bsl

Режимы:

  • full (по умолчанию) — сначала static, затем platform;
  • fast — только static; итог static-only, платформа в результате помечена not-run;
  • platform — только platform.

Явный выбор режима пользователем имеет приоритет. Не выдавайте fast за полную проверку.

Как команда выбирает цель

  • Корень определяется по ближайшему каталогу с Configuration.xml: это основная конфигурация или, если в нём есть ConfigurationExtensionPurpose, расширение. Модули выгрузки EPF/ERF (<Имя>.xml рядом с каталогом <Имя>/) образуют внешний артефакт.
  • Модули из разных корней команда отклоняет с кодом 2. Проверяйте один корень за запуск; успех соседней конфигурации не доказывает правильность целевой.
  • Для расширения и EPF/ERF статическому разбору нужна основная конфигурация целевой ИБ: --configuration-root <каталог>, BSL_CONFIGURATION_ROOT или src/cf. Без неё static получает not-run.

Платформенная проверка

  • Основная конфигурация: ./scripts/platform/check-cf-modules.sh. Выбранные модули сначала частично загружаются (/LoadConfigFromFiles -listFile ... -partial) в конфигурацию ИБ профиля без обновления конфигурации базы данных, затем /CheckModules компилирует всю конфигурацию в режимах запуска из Configuration.xml. Режимы можно задать через --execution-mode.
  • Расширение: ./scripts/platform/check-cfe-config.sh с именем расширения.
  • EPF/ERF: платформенной проверки модулей нет. Сборка внешнего артефакта не является проверкой синтаксиса; итог основан на static.
  • Без профиля целевой ИБ платформенная проверка не выполняется (not-run). Не подставляйте профиль другой базы.
  • Уже существующие замечания базы можно передать в check-cf-modules.sh --baseline-diagnostics <json>: блокируют только новые.
  • source_identity.loaded_match=not-verified означает, что проверена установленная в ИБ конфигурация, а не локальные исходники.

Прямые вызовы Designer, ibcmd и клиента 1С запрещены. Платформенный запуск наблюдается по навыку 1c-observe-run. Проверка всей конфигурации может долго не печатать вывод; повторный запуск из-за паузы в выводе не делайте, смотрите <run-root>/observation.jsonl.

Внешние артефакты пакетом

Для набора EPF/ERF без платформы используйте ./scripts/qa/analyze-bsl-external.sh (--all-managed, имена или каталоги выгрузок, --extension, --declare-extension, --configuration-root). Выгрузки из ordinary/ этой командой не проверяются.

Итог

Команда печатает и пишет в <run-root>/summary.json:

target: configuration|extension|external <имя> (<корень>)
mode: full|fast|platform
static: passed|failed|not-run — <причина или доказательство>
platform: passed|failed|blocked|not-run — <причина>; platform <версия>, compatibility <режим>, modes <режимы>
overall: passed|failed|blocked|static-only
синтаксис: проверен|ошибки|не проверен

Коды выхода: 0 — passed или static-only; 1 — failed; 2 — неверный выбор модулей; 3 — проверка не выполнена или заблокирована.

Если ни анализатор, ни платформа недоступны, результат — синтаксис: не проверен. Сообщайте его пользователю как есть; не заменяйте проверку чтением кода.

Структурные проверки cf-validate, cfe-validate, epf-validate и XML не заменяют платформенную оценку.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Используйте, когда нужно создать информационную базу через канонический runtime contract проекта.

The English summary is being prepared. Showing the original description.

defin85/1c-runner-agnostic-template2Updated Oct 11, 2026

Используйте, когда нужно сравнить source tree или выполнить adapter-aware diff через repo-owned entrypoint.

The English summary is being prepared. Showing the original description.

defin85/1c-runner-agnostic-template2Updated Oct 11, 2026

Используйте, когда нужно проверить readiness runtime profile, adapter config и базовые зависимости проекта.

The English summary is being prepared. Showing the original description.

defin85/1c-runner-agnostic-template2Updated Oct 11, 2026

Используйте, когда нужно выгрузить конфигурацию или расширение в исходники через канонический runtime contract проекта.

The English summary is being prepared. Showing the original description.

defin85/1c-runner-agnostic-template2Updated Oct 11, 2026

Находит точную причину повторного падения процессов сервера 1С в Linux: SIGABRT, технологический журнал, core dump, GDB, C++-исключения и проверка причины. Используйте, когда rphost, ragent или rmngr исчезает, становится zombie, завершается сигналом 6 или оставляет core.

The English summary is being prepared. Showing the original description.

defin85/1c-runner-agnostic-template2Updated Oct 11, 2026

Используйте, когда нужно загрузить в ИБ только текущие git-backed изменения исходников через repo-owned diff bridge.

The English summary is being prepared. Showing the original description.

defin85/1c-runner-agnostic-template2Updated Oct 11, 2026

See all skills by defin85

Report a problem with this skill