1

段階的カタログ バージョンとオンライン カタログ バージョンの両方で、一部の製品の属性を更新する cronjob を 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 で製品が同期していないように見えることなく、このジョブを可能にする方法はありますか?

ありがとうございました!

4

1 に答える 1

2

正しい方法は、ステージングで変更を行い、ステージングからオンラインに同期することです。両方のカタログ バージョンを編集するべきではありません。オンラインは理想的には読み取り専用です。

アイテムのリストを同期するには、CatalogSynchronizationService API: https://help.sap.com/doc/02d5152884b34821a06408495ba0b771/1905/en-US/de/hybris/platform/catalog/synchronization/CatalogSynchronizationService.html#performSynchronization(java. util.List,de.hybris.platform.catalog.model.SyncItemJobModel,de.hybris.platform.catalog.synchronization.SyncConfig)

于 2020-05-21T09:36:17.683 に答える