# Спецификация формы read-only обработки 1С

Форма нужна для безопасной выгрузки товаров, цен и остатков из 1С в XML `RoxyExchange 1.0`.

Обработка работает только на чтение и не изменяет бизнес-данные 1С. Режимы заказов, документов, двустороннего или полного обмена должны быть отдельными обработками.

## Обязательный заголовок

```txt
Выгрузка товаров, цен и остатков для roxy.kz
```

## Обязательное предупреждение

```txt
Обработка работает только на чтение и не изменяет данные 1С.
```

## Реквизиты формы

| Реквизит | Назначение | Значение по умолчанию |
| --- | --- | --- |
| `ПутьXML` | Куда сохранить XML-файл | пусто |
| `Склады` | Выбранные склады для остатков | все доступные склады |
| `ВидыЦен` | Выбранные виды цен | основной вид цены, если найден |
| `ВыгружатьТолькоАктивные` | Не выгружать неактивные товары | Истина |
| `ВыгружатьХарактеристики` | Добавлять характеристики товара | Истина |
| `ВыгружатьШтрихкоды` | Добавлять штрихкоды товара | Истина |
| `ВыгружатьОстатки` | Добавлять остатки по складам | Истина |
| `РазрешитьНулевыеЦены` | Передавать нулевые цены | Ложь |
| `ТекстОтчета` | Итоговый отчет выгрузки | пусто |
| `Прогресс` | Процент выполнения | 0 |

## Команды формы

| Команда | Действие |
| --- | --- |
| `ВыбратьПутьXML` | Открывает диалог выбора пути сохранения XML |
| `СформироватьXML` | Запускает read-only выгрузку |
| `ОткрытьПапкуXML` | Открывает папку с XML |
| `СкопироватьОтчет` | Копирует итоговый отчет |

Кнопка `Сформировать XML` должна быть недоступна, если `ПутьXML` не заполнен.

## Функции adapter

| Конфигурация | Функция |
| --- | --- |
| `8.3 УТП Редакция 3` | `RoxyУТП3СформироватьXML` |
| `8.3 УТП Редакция 2` | `СформироватьXMLУТП2` |
| `8.3 УНФ` | `RoxyУНФСформироватьXML` |
| `8.3 Розница` | `RoxyРозницаСформироватьXML` |
| `8.3 Бухгалтерия для Казахстана 3` | `RoxyБК3СформироватьXML` |

Общую логику формы брать из `1c_epf/source/common/roxy-form-controller.bsl`: дефолты, проверка перед выгрузкой, сбор настроек и текст отчета.

## Запрещено

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

## Проверка

Перед передачей обработки клиенту выполнить:

```bash
pnpm one-c:readonly:test:edt
```

Затем сформировать XML в тестовой базе, загрузить файл в roxy.kz, открыть предпросмотр и применить импорт только после проверки.
