SAP Hybris Commerce - изменение как в онлайн-, так и в автономный каталог вызывает десинхронизацию
Я пытаюсь создать задание cron в Hybris 1811, которое обновляет атрибут для некоторых продуктов как в поэтапной, так и в онлайн-версиях каталога.
Однако даже когда я вношу одно и то же изменение в продукт в обеих версиях каталога, продукт затем помечается как десинхронизированный между версиями в Backoffice.
Когда я вношу изменения только в онлайн-каталог, продукт не десинхронизируется, но любая синхронизация от поэтапной к онлайн перезаписывает измененные.
Код:
productStaged = productService.getProductForCode(stagedCatalog, productCode);
productOnline = productService.getProductForCode(onlineCatalog, productCode);
if (productStaged != null) {
productStaged.setMargin(margin, locale);
modelService.save(productStaged);
}
if (productOnline != null) {
productOnline.setMargin(margin, locale);
modelService.save(productOnline);
}
Есть ли способ сделать эту работу возможной, не вызывая десинхронизации продукта в Backoffice?
Спасибо!
1 ответ
Правильный способ - внести изменения в поэтапном режиме и выполнить синхронизацию из поэтапного в онлайн. Вам не следует редактировать обе версии каталога. В идеале Online доступен только для чтения.
Чтобы синхронизировать список элементов, проверьте API CatalogSynchronizationService:https://help.sap.com/doc/02d5152884b34821a06408495ba0b771/1905/en-US/de/hybris/platform/catalog/synchronization/CatalogSynchronizationService.html