1c-subsystem-validate · git:20260828.e6ca64d · 2026-08-28 · sha256 687db8148a92778d
1c-subsystem-validate git:20260828.e6ca64dA
Immutable. This exact content is served forever at /api/v1/blob/687db8148a92778d.
--- name: 1c-subsystem-validate description: "Валидация подсистемы 1С. Используй после создания или модификации подсистемы для проверки корректности" --- # /subsystem-validate - валидация подсистемы 1С Проверяет структурную корректность XML-файла подсистемы из выгрузки конфигурации. ## Параметры | Параметр | Обяз. | Умолч. | Описание | |---------------|:-----:|---------|--------------------------------------------| | SubsystemPath | да | - | Путь к XML-файлу подсистемы | | Detailed | нет | - | Подробный вывод (все проверки, включая успешные) | | MaxErrors | нет | 30 | Остановиться после N ошибок | | OutFile | нет | - | Записать результат в файл | | IndexPath | нет | - | Индекс от `1c-config-index`: включает сверку состава с конфигурацией | ## Команда ```powershell powershell.exe -NoProfile -File "skills/1c-subsystem-validate/scripts/subsystem-validate.ps1" -SubsystemPath "Subsystems/Продажи" powershell.exe -NoProfile -File "skills/1c-subsystem-validate/scripts/subsystem-validate.ps1" -SubsystemPath "Subsystems/Продажи.xml" ``` ## Сверка состава с конфигурацией (проверка 14) Раньше валидатор проверял ФОРМУ записей состава - что это `xr:MDObjectRef`, что имя не во множественном числе, что нет дублей. Существует ли объект на самом деле, он не знал: про конфигурацию ему было ничего не известно. С `-IndexPath` знает. Ссылка на удаленный объект больше не проходит молча. Имена в составе (`Catalog.Контрагенты`) совпадают с ключами индекса, поэтому карта соответствий не нужна. Ссылка по UUID не проверяется - разбирать ее нечем. Тяжесть - предупреждение. В расширении формулировка мягче: объект может лежать в основной конфигурации, которой в этой выгрузке нет. ```bash python skills/1c-config-index/scripts/config-index.py -ConfigPath src -OutFile .cache/index.json python skills/1c-subsystem-validate/scripts/subsystem-validate.py -SubsystemPath src/Subsystems/Продажи -IndexPath .cache/index.json ```