@@ -602,10 +602,14 @@ the single `update()` method) — document this in the method docblock.
602602parameter in batch commands, but ` Core\Batch::deleteEntityItems() ` sends uppercase ` ID ` — confirmed
603603by a live batch-delete integration test failure (` could not find value for parameter {id} ` ). Fixed
604604by adding ` src/Services/Catalog/ProductProperty/Batch.php extends \Bitrix24\SDK\Core\Batch ` ,
605- overriding ` deleteEntityItems() ` to send ` ['id' => $itemId] ` , following the exact
606- ` Services\Task\Batch ` /` Services\CRM\Currency\Batch ` pattern. Wired into
607- ` CatalogServiceBuilder::productProperty() ` by constructing ` new Catalog\ProductProperty\Batch($this->core, $this->log) `
608- instead of reusing the shared ` $this->batch ` , matching ` CRMServiceBuilder::currency() ` .
605+ overriding ` deleteEntityItems() ` to send ` ['id' => $itemId] ` . Also overrides
606+ ` determineKeyId() ` to return lowercase ` 'id' ` , matching the more recent reference implementation
607+ ` Services\Biconnector\Connector\Batch ` /` Services\Biconnector\Source\Batch ` (which additionally
608+ override list pagination for a ` page ` -based method — not needed here since
609+ ` catalog.productProperty.list ` uses standard ` start ` -based pagination, so only ` deleteEntityItems() `
610+ and ` determineKeyId() ` are overridden). Wired into ` CatalogServiceBuilder::productProperty() ` by
611+ constructing ` new Catalog\ProductProperty\Batch($this->core, $this->log) ` instead of reusing the
612+ shared ` $this->batch ` , matching ` CRMServiceBuilder::currency() ` .
609613
610614No separate ` ProductPropertyServiceBuilder.php ` file is needed — ` ProductProperty ` is registered
611615directly inside the existing ` src/Services/Catalog/CatalogServiceBuilder.php ` (see Files to Modify
0 commit comments