---
name: v8-cf-remove-attribute
user-invocable: true
description: >
  Удаление реквизита (Attribute) из справочника в JSON-исходниках распакованной конфигурации 1С.
  Удаляет запись реквизита из Catalog.json и уменьшает счётчик реквизитов.
---

# v8-cf-remove-attribute

## Описание

Скилл удаляет реквизит из справочника в исходниках распакованной конфигурации 1С (v8unpack-формат).

- Удаляет запись реквизита из `header[0][6]` файла `Catalog.json`
- Уменьшает счётчик реквизитов в `header[0][6][1]`

## Использование

- «удали реквизит ТестРеквизитЧисло102 из справочника Справочник01»
- «remove attribute ТестРеквизитЧисло102 from Справочник01»

## Скрипт

Файл: `tools/remove_attribute.py`

```
python tools/remove_attribute.py <source_dir> <catalog_name> <attr_name>
```

Аргументы:
- `source_dir` — путь к распакованным исходникам проекта (`src/<Проект>`)
- `catalog_name` — имя папки справочника (например, `Справочник01`)
- `attr_name` — имя удаляемого реквизита (например, `ТестРеквизитЧисло102`)

## Определение source_dir

Путь к исходникам берётся из `v8.projects.json`:

- Топ-уровневый проект (например, `BAU`): `projects.BAU.src` = `src/BAU`
- Подпроект (например, `BAU_KlientBank`): `projects.BAU.projects.BAU_KlientBank.src` = `src/BAU/BAU_KlientBank`

## Требования

- Исходники должны быть предварительно распакованы через v8unpack
- Если справочник не найден: ответить «Ошибка: справочник <catalog_name> не найден в <source_dir>.»
- Если реквизит не найден: ответить «Ошибка: реквизит <attr_name> не найден в справочнике <catalog_name>.»

## Связанные скиллы

- v8-cf-add-attribute — добавление реквизита в справочник
- v8-cf-remove-catalog — удаление справочника
