1c-support-state

Чтение и переключение состояния поддержки конфигурации 1С в XML-выгрузке - разрешить правку типового объекта, снять с поддержки, вернуть на замок, включить возможность изменения. Используй когда польз

SKILL.md

GitHub

/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.

После выполнения

  1. Покажи вывод скрипта (текущее состояние или что изменено, число измененных записей).
  2. При изменении напомни: чтобы применить в ИБ - загрузить выгрузку обратно (полная загрузка).

Примеры

# Показать состояние поддержки выгрузки и правило конкретного объекта
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