1c-support-state · diff
git:20260716.55ff2b2 to git:20260828.2b87e3e
1 added, 1 removed. Audit A to A.
---
name: 1c-support-state
description: Чтение и переключение состояния поддержки конфигурации 1С в XML-выгрузке - разрешить правку типового объекта, снять с поддержки, вернуть на замок, включить возможность изменения. Используй когда пользователь спрашивает про состояние поддержки, объект на замке, снятие с поддержки
argument-hint: <путь> [-Get | -Set editable|off-support|locked | -Capability on|off]
allowed-tools:
- Bash
- Read
- Glob
---
# /support-state - Состояние поддержки конфигурации в XML-выгрузке
Читает и переключает состояние поддержки типовой (вендорской) конфигурации в файловой XML-выгрузке: пообъектные правила (на замке / редактируется / снят с поддержки) и глобальную возможность изменения. Работает с файлом `Ext/ParentConfigurations.bin` внутри выгрузки.
> **ВАЖНО**: изменения затрагивают ТОЛЬКО файлы выгрузки на диске. Чтобы они подействовали в информационной базе - загрузи выгрузку обратно (полная загрузка: `/db-load-xml`, затем `/db-update`). Если выгрузка под git, изменение `.bin` видно в диффе и откатывается штатно.
## Usage
```
/support-state <путь> - показать состояние (режим по умолчанию)
/support-state <путь к объекту> -Set editable - разрешить правку объекта (поддержка сохраняется)
/support-state <путь к объекту> -Set off-support - снять объект с поддержки
/support-state <путь к объекту> -Set locked - вернуть объект на замок
/support-state <корень выгрузки> -Set editable - разрешить добавление новых объектов (правило корня)
/support-state <корень выгрузки> -Capability on|off - вкл/выкл возможность изменения всей конфигурации
```
`<путь>` - XML-файл объекта, каталог объекта или корень выгрузки; корень конфигурации и `.bin` находятся автоматически (поиск вверх по дереву каталогов, не больше 12 уровней).
## Команда
```powershell
powershell.exe -NoProfile -File skills/1c-support-state/scripts/support-state.ps1 -Path <путь> [режим]
```
### Параметры скрипта
| Параметр | Обязательный | Описание |
|----------|:------------:|----------|
| `-Path <путь>` | да | XML объекта, каталог объекта или корень выгрузки |
| `-Get` | нет | Показать состояние (по умолчанию, если режим не задан) |
| `-Set <режим>` | нет | `editable` / `off-support` / `locked` - переключить правило объекта |
| `-Capability <on/off>` | нет | Включить/выключить возможность изменения конфигурации целиком |
Задается не больше одного режима (`-Get` / `-Set` / `-Capability`).
## Семантика состояний
| Состояние | Правило 1С | Правка | Обновления вендора |
|-----------|-----------|:------:|:------------------:|
| `locked` | объект на замке | нет | да |
| `editable` | редактируется с сохранением поддержки | да | да (возможны конфликты при обновлении) |
| `off-support` | снят с поддержки | да | по этому объекту прекращаются |
- `-Capability on` включает возможность изменения, при этом ВСЕ объекты поставщика переходят «на замок» (как в Конфигураторе) - дальше включай правку точечно через `-Set editable`. `-Capability off` делает всю конфигурацию read-only.
+ `-Capability on` включает возможность изменения, при этом ВСЕ объекты поставщика переходят "на замок" (как в Конфигураторе) - дальше включай правку точечно через `-Set editable`. `-Capability off` делает всю конфигурацию read-only.
## Коды возврата
| Код | Описание |
|-----|----------|
| 0 | Успешно, включая легитимный no-op (не на поддержке, поддержка снята полностью, уже в целевом состоянии, объект не в поддержке) |
| 1 | Ошибка: путь не найден, корень конфигурации не найден, неизвестный формат `.bin`, `-Set` при выключенной возможности изменения, задано больше одного режима |
| 2 | Неверные аргументы python-версии (argparse) |
## Ограничения
- Если конфигурация на поддержке у НЕСКОЛЬКИХ поставщиков, `-Set` меняет правило объекта во ВСЕХ блоках поставщиков одинаково (раздельная настройка по поставщикам не поддерживается).
- Для расширений (CFE) состояние поддержки не применимо - скрипт распознает расширение и завершается без изменений.
- Подробное описание формата `ParentConfigurations.bin` - в [docs/parent-configurations-bin.md](docs/parent-configurations-bin.md).
## После выполнения
1. Покажи вывод скрипта (текущее состояние или что изменено, число измененных записей).
2. При изменении напомни: чтобы применить в ИБ - загрузить выгрузку обратно (полная загрузка).
## Примеры
```powershell
# Показать состояние поддержки выгрузки и правило конкретного объекта
powershell.exe -NoProfile -File skills/1c-support-state/scripts/support-state.ps1 -Path "C:\Dump\MyConfig\Documents\МойДокумент.xml"
# Разрешить правку объекта с сохранением поддержки
powershell.exe -NoProfile -File skills/1c-support-state/scripts/support-state.ps1 -Path "C:\Dump\MyConfig\Documents\МойДокумент.xml" -Set editable
# Включить возможность изменения всей конфигурации
powershell.exe -NoProfile -File skills/1c-support-state/scripts/support-state.ps1 -Path "C:\Dump\MyConfig" -Capability on
```