/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.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.
Коды возврата
| Код | Описание |
|---|---|
| 0 | Успешно, включая легитимный no-op (не на поддержке, поддержка снята полностью, уже в целевом состоянии, объект не в поддержке) |
| 1 | Ошибка: путь не найден, корень конфигурации не найден, неизвестный формат .bin, -Set при выключенной возможности изменения, задано больше одного режима |
| 2 | Неверные аргументы python-версии (argparse) |
Ограничения
- Если конфигурация на поддержке у НЕСКОЛЬКИХ поставщиков,
-Setменяет правило объекта во ВСЕХ блоках поставщиков одинаково (раздельная настройка по поставщикам не поддерживается). - Для расширений (CFE) состояние поддержки не применимо - скрипт распознает расширение и завершается без изменений.
- Подробное описание формата
ParentConfigurations.bin- в docs/parent-configurations-bin.md.
После выполнения
- Покажи вывод скрипта (текущее состояние или что изменено, число измененных записей).
- При изменении напомни: чтобы применить в ИБ - загрузить выгрузку обратно (полная загрузка).
Примеры
# Показать состояние поддержки выгрузки и правило конкретного объекта
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