From a517c32fee04b7fad2f483c0b25a7984568cc398 Mon Sep 17 00:00:00 2001 From: nns Date: Fri, 9 Oct 2026 15:24:36 +0500 Subject: [PATCH] =?UTF-8?q?docs(migration):=20=D0=BF=D1=80=D0=B8=D1=91?= =?UTF-8?q?=D0=BC=D0=BA=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=B8=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=BD=D1=8B=20(7130)=20=E2=80=94=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=BD=D1=8B=D0=B9=20=D0=BC?= =?UTF-8?q?=D0=B8=D0=B3=D1=80=D0=B0=D1=82=D0=BE=D1=80=20=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=B0=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- docs/migration-progress.md | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/docs/migration-progress.md b/docs/migration-progress.md index 83b99cc..c750bf5 100644 --- a/docs/migration-progress.md +++ b/docs/migration-progress.md @@ -17,15 +17,19 @@ 2. [~] **Мигратор — работает на реальных данных.** - [x] Справочники: товары **30 944**, контрагенты **628** (+externalId), группы **53**; идемпотентность по `MoySkladExternalId`. - - [x] **Документный мигратор (сервер, фон, идемпотентный, резюмируемый)** — архитектура - проверена на ПРИЁМКАХ: `MoySkladDocumentImportService` + `StreamDocumentsAsync` - (хронология order=moment,asc, expand позиций, 429/повторы, таймаут 130с), - `Phase41` externalId на всех документах/справочниках. Приёмки переносятся ~10/с с - движениями остатков; moment МСК→UTC, суммы из тиынов, поставщик по externalId, - товары по externalId, агрегация позиций по товару, SaveChanges по документу. - Починены 3 бага: sum как decimal («900000.0»), тяжёлый expand, дубль stocks при батче. - - [ ] Остальные типы (retaildemand/loss/enter/inventory/supplier_returns/shifts/деньги) — - по ТОМУ ЖЕ проверенному шаблону (следующая итерация). + - [x] **Документный мигратор (сервер, фон, идемпотентный, резюмируемый) — РАБОТАЕТ и + ПРОВЕРЕН на ПРИЁМКАХ (полный перенос 7130 из 7125):** `MoySkladDocumentImportService` + + `StreamDocumentsAsync` (хронология order=moment,asc, expand позиций, 429/повторы, + таймаут 130с), `Phase41` externalId на всех документах/справочниках. + Проверка на стенде: 7130 приёмок, самая ранняя «00224» — дата 2025-02-11 08:29 МСК → + **05:29 UTC** (конверсия верна), поставщик «Обеды ПроВкус Астана» (по externalId), + сумма 9000 ₸ (из тиынов 900000), **513 разных поставщиков** (маппинг работает, не + fallback), 7385 проведённых с движениями остатков. Починены 5 багов: sum как decimal + («900000.0»), тяжёлый expand, дубль stocks при батче, каскад после сбоя SaveChanges, + дубль номеров (МойСклад повторяет по годам → дизамбигуация «номер-год»). + - [ ] Остальные типы по ТОМУ ЖЕ шаблону: retaildemand (97k, +оплата нал/безнал, смена, + кассир), retailsalesreturn (связь с чеком), loss, enter, inventory, supplier_returns, + retailshift, внесения/выплаты/ордера/платежи. Объём большой (97k чеков ≈ 2.5ч прогона). - [ ] uom/склад/точка/сотрудники как отдельные справочники с externalId (пока товары на дефолтных ед.; склад — единственный склад орг). 3. [x] **Новая орг на стенде** «FOOD MARKET» (простой режим), admin `foodmarket-migr@food-market.local`.