fix: лоты без категории в прайслисте не блокируют сборку артикула

ResolveLotCategoriesStrict переименован в ResolveLotCategories и лишён
строгости: лоты, отсутствующие в прайслисте или с пустой lot_category,
просто пропускаются — партномер из них не собирается. Ранее любой
«незнакомый» лот возвращал ошибку и блокировал сохранение конфига.

Удалены ErrMissingCategoryForLot, MissingCategoryForLotError и
fallback через local_components (противоречил cc72052).

resolvePricelistID: если прайслист отсутствует локально после синка —
fallback на последний активный вместо ошибки.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Mikhail Chusavitin
2026-06-29 16:21:45 +03:00
parent f6766ce6b8
commit f24584f65c
4 changed files with 36 additions and 89 deletions
+2 -1
View File
@@ -1813,7 +1813,8 @@ func (s *LocalConfigurationService) resolvePricelistID(pricelistID *uint) (*uint
}
}
}
return nil, fmt.Errorf("pricelist %d not available locally", *pricelistID)
// Pricelist not found even after sync — fall back to the latest active one.
slog.Warn("pricelist not available locally, falling back to latest active", "server_pricelist_id", *pricelistID)
}
latest, err := s.localDB.GetLatestLocalPricelist()