1c-support-state · git:20260828.2b87e3e · 2026-08-28 · sha256 bc5914cef9811dcb
1c-support-state git:20260828.2b87e3eA
Immutable. This exact content is served forever at /api/v1/blob/bc5914cef9811dcb.
--- 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. ## Коды возврата | Код | Описание | |-----|----------| | 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 ```