# Перенос магазина МойСклад → ALL MARKET (с историей) — прогресс Решение владельца 09.10: перенести ВСЁ из МойСклада с историей, перейти на ALL MARKET. Фискализации нет и в МойСкладе (не блокер), маркировка не используется. **Источник:** аккаунт МойСклад, орг **«FOOD MARKET»** (id `bb8f74d4-5eb6-11ef-0a80-106e00048af9`). Токен — `~/.food-market-secrets/moysklad.env` (ТОЛЬКО ЧТЕНИЕ; в МойСклад ничего не писать). Опыт API — `~/.fm-watchdog/ms-api-lessons.txt`; код-образцы — `~/ref/fm-server-moysklad`, `~/ref/sklad`. Существующий импортёр (справочники) — `src/food-market.infrastructure/Integrations/MoySklad/`. Легенда: [x] готово · [~] частично · [ ] не начато. ## План и статус 1. [x] **Инвентаризация источника** → `docs/migration-source-inventory.md` (скрипт `scripts/migration/ms_inventory.py`). Орг «FOOD MARKET», ~31k товаров, 627 контрагентов, ~110k документов, 7558 строк остатков; gap-анализ + цели сверки. 2. [~] **Мигратор.** Существующий `MoySkladImportService` (справочники product/productfolder/ counterparty, идемпотентность по `MoySkladExternalId`) — РАБОТАЕТ на реальных данных: - [x] Контрагенты → **628** в новой орг (МС 627 + 1 розн. покупатель по умолчанию). - [x] Группы → **53** (МС 52 + корень). [~] Товары — импорт запущен (31k, фон, ~3600/20с). - [ ] uom/склад/точка/сотрудники как отдельные справочники (сейчас товары мапятся на дефолтные ед.); externalId на Counterparty/Store/RetailPoint/Employee/UoM. - [ ] **Документы (110k) в хронологии** — НЕ начато (основной объём; дизайн — migration-design.md). 3. [x] **Новая орг на стенде** «FOOD MARKET» (простой режим), admin `foodmarket-migr@food-market.local`. Демо/«Магазин у дома» не тронуты. Токен МойСклада задан в настройках орг. 4. [ ] Сверка → `docs/migration-reconciliation.md` (цели собраны в source-inventory; после переноса документов). 5. [ ] Дельта-досинхронизация (updated>= МСК + удалённые). 6. [ ] Производительность/надёжность (резюмируемый курсор документов). 7. [ ] Runbook «день перехода» + откат. ## Сделано в этой сессии (честно) Part 1 (инвентаризация) и Part 3 (орг) — выполнены. Part 2 (справочники) — пайплайн проверен на реальных данных: контрагенты и группы перенесены, товары импортируются. Parts 4–7 спроектированы (`migration-design.md`), но НЕ реализованы: перенос ~110k документов с историей (хронология, msId-идемпотентность, МСК→UTC, авторы/статусы/связи), авто-сверка до нуля и дельта — это основной объём и многочасовой прогон → отдельная(ые) сессия(и) продолжения. Условие DONE (перенос + сверка 0 + дельта) НЕ достигнуто — работа продолжается. ## Ключевые факты API (из ms-api-lessons + проверки) - База `https://api.moysklad.ru/api/remap/1.2`, `Authorization: Bearer`, `Accept-Encoding: gzip` обязателен. - Время moment/фильтров — МОСКОВСКОЕ (UTC+3), формат `yyyy-MM-dd HH:mm:ss`. - Суммы — в ТИЫНАХ (÷100). Лимит 45 запросов/3с; таймаут ≥120с; expand только при limit≤100. - `report/stock/all` НЕ отдаёт нулевые остатки; номера документов повторяются по годам — ключ только id. ## Что НЕ трогаем Прод, shared-postgres, global.json, gateway nginx, sklad. В МойСклад — только чтение.