diff --git a/src/food-market.infrastructure/Integrations/MoySklad/MoySkladDocumentImportService.cs b/src/food-market.infrastructure/Integrations/MoySklad/MoySkladDocumentImportService.cs index a7c554a..b4f6614 100644 --- a/src/food-market.infrastructure/Integrations/MoySklad/MoySkladDocumentImportService.cs +++ b/src/food-market.infrastructure/Integrations/MoySklad/MoySkladDocumentImportService.cs @@ -141,6 +141,9 @@ private static DateTime MomentToUtc(string? moment) } catch (Exception ex) { + // Критично: после сбоя SaveChanges очищаем трекер, иначе провалившиеся + // сущности остаются tracked и роняют ВСЕ последующие документы (каскад). + _db.ChangeTracker.Clear(); progress.Errors++; if (progress.ErrorSamples.Count < 20) progress.ErrorSamples.Add($"{d.Name}/{d.Id}: {ex.Message}"); _log.LogWarning(ex, "supply import failed {Id}", d.Id);