# Подготовка данных

CodeMetadataSearchServer требует данные, выгруженные из Конфигуратора 1С.

## Необходимые выгрузки

| Выгрузка              | Назначение          | Как получить                         |
| --------------------- | ------------------- | ------------------------------------ |
| Отчет из конфигурации | Метаданные объектов | Конфигурация → Отчет из конфигурации |
| Выгрузка в файлы      | Код модулей         | Конфигурация → Выгрузить в файлы     |

## Шаг 1: Создание папок

```powershell
New-Item -ItemType Directory -Force -Path @(
    "E:\1C_Export\Report",
    "E:\1C_Export\Files"
)
```

## Шаг 2: Отчет из конфигурации

1. Откройте конфигурацию в Конфигураторе
2. Меню **Конфигурация** → **Отчет из конфигурации**
3. Настройте параметры:
   * Включите все разделы (справочники, документы, регистры и т.д.)
   * Формат: текстовый файл
4. Сохраните в папку `E:\1C_Export\Report`

### Рекомендуемые настройки

* ✅ Справочники
* ✅ Документы
* ✅ Регистры сведений
* ✅ Регистры накопления
* ✅ Регистры бухгалтерии
* ✅ Обработки
* ✅ Отчёты
* ✅ Общие модули
* ✅ Перечисления
* ✅ Планы видов характеристик

## Шаг 3: Выгрузка в файлы

1. Меню **Конфигурация** → **Выгрузить конфигурацию в файлы**
2. Укажите папку `E:\1C_Export\Files`
3. Дождитесь завершения выгрузки

### Альтернатива: EDT

Если вы используете 1C:EDT, укажите путь к рабочей директории проекта вместо выгрузки.

## Структура после выгрузки

```
E:\1C_Export\
├── Report\
│   └── Report.txt          # Отчет по метаданным
└── Files\
    ├── Catalogs\           # Справочники
    ├── Documents\          # Документы
    ├── CommonModules\      # Общие модули
    ├── DataProcessors\     # Обработки
    ├── Reports\            # Отчёты
    └── ...
```

## Оптимизация: выборочная индексация

{% hint style="info" %}
**Не обязательно индексировать всё!** Если вам не нужен поиск по определённым объектам конфигурации, просто удалите соответствующие папки из выгрузки перед запуском индексации.
{% endhint %}

### Пример: индексация только общих модулей и обработок

```powershell
# После выгрузки удалите ненужные папки
Remove-Item -Recurse -Force "E:\1C_Export\Files\Catalogs"
Remove-Item -Recurse -Force "E:\1C_Export\Files\Documents"
Remove-Item -Recurse -Force "E:\1C_Export\Files\InformationRegisters"
# ... оставьте только нужные папки
```

### Преимущества выборочной индексации

* **Ускорение индексации** — меньше файлов = быстрее
* **Экономия дискового пространства** — меньший размер векторной БД
* **Более точный поиск** — меньше шума в результатах

### Что обычно можно исключить

* `ExternalDataSources` — внешние источники данных
* `WebServices` — веб-сервисы (если не используете)
* `HTTPServices` — HTTP-сервисы (если не используете)
* Папки с формами, если вам нужен только поиск по коду

## Проверка выгрузки

### Проверка отчета

```powershell
# Должен существовать текстовый файл
Get-ChildItem "E:\1C_Export\Report" -Filter "*.txt"
```

### Проверка файлов

```powershell
# Должны быть папки с модулями
Get-ChildItem "E:\1C_Export\Files" -Directory
```

## Обновление данных

При изменении конфигурации:

1. Повторите выгрузку из Конфигуратора
2. Перезапустите контейнер с `RESET_DATABASE=true`

```powershell
docker rm -f 1c_code_metadata_mcp

docker run -d -p 8000:8000 `
  --name 1c_code_metadata_mcp `
  -e LICENSE_KEY=YOUR_LICENSE_KEY `
  -e RESET_DATABASE=true `
  -e METADATA_PATH="/app/metadata" `
  -e CODE_PATH="/app/code" `
  -v "E:/1C_Export/Report:/app/metadata" `
  -v "E:/1C_Export/Files:/app/code" `
  -v "E:/bases/mcp_codemetadata:/app/chroma_db" `
  comol/1c_code_metadata_mcp:latest
```

## Частые проблемы

### Файлы в неправильной кодировке

Убедитесь, что выгрузка выполнена в UTF-8.

### Пустой отчет

Проверьте настройки отчета — должны быть включены все разделы.

### Ошибка "path not found"

Проверьте пути в команде Docker — используйте прямые слеши.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.onerpa.ru/mcp-servery-1c/servery/code-metadata-search/podgotovka-dannyh.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
