- Модуль: catalog
- Путь к файлу: ~/bitrix/modules/catalog/lib/product/sku.php
- Класс: BitrixCatalogProductSku
- Вызов: Sku::updateParentAvailable
static function updateParentAvailable(int $parentId, int $parentIblockId): bool
{
$parentIBlock = CCatalogSku::GetInfoByIblock($parentIblockId);
if (
empty($parentIBlock)
|| (self::isSeparateSkuMode() && $parentIBlock['CATALOG_TYPE'] === CCatalogSku::TYPE_FULL)
)
{
return true;
}
$parentFields = static::getDefaultParentSettings(static::getOfferState(
$parentId,
$parentIblockId
));
self::disableUpdateAvailable();
$iterator = CatalogModelProduct::getList([
'select' => [
'ID',
],
'filter' => [
'=ID' => $parentId,
],
]);
$row = $iterator->fetch();
if (!empty($row))
{
$updateResult = CatalogModelProduct::update($parentId, $parentFields);
}
else
{
$parentFields['ID'] = $parentId;
$updateResult = CatalogModelProduct::add($parentFields);
}
$result = $updateResult->isSuccess();
unset($updateResult);
self::enableUpdateAvailable();
return $result;
}