Выяснил, что при создании элемента, создании товара и цены все отрабатывает и при этом товар появляется на сайте в списке раздела с ценой и т .д, а вот детальное описание(карточки товара нет) ошибка 404 - в чем может быть проблема? Привожу код:
CModule::IncludeModule("iblock");
CModule::IncludeModule("catalog");
$useStoreControl = (string)\Bitrix\Main\Config\Option::get('catalog', 'default_use_store_control') === 'Y';
$params = Array(
"max_len" => "100", // обрезает символьный код до 100 символов
"change_case" => "L", // буквы преобразуются к нижнему регистру
"replace_space" => "-", // меняем пробелы на нижнее подчеркивание
"replace_other" => "_", // меняем левые символы на нижнее подчеркивание
"delete_repeat_replace" => "true", // удаляем повторяющиеся нижние подчеркивания
"use_google" => "false", // отключаем использование google
);
$code_test= CUtil::translit("Сварочная маска тест", "ru" , $params);
$PROP[128] = '11111'; // свойству с кодом 51 присваиваем значение 11111
$element = new CIBlockElement;
$fields = array(
'IBLOCK_ID' => 25,
"IBLOCK_SECTION_ID" => 157,
'NAME' => 'Маска тест',
"ACTIVE" => "Y", // активен
"PREVIEW_TEXT" => "тестовый текст для списка элементов",
"DETAIL_TEXT" => "тестовый текст для детального просмотра",
"DETAIL_PICTURE" => CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/upload/tmp/mask_test_full.jpg"),
"PREVIEW_PICTURE" => CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/upload/tmp/mask_test_krat.jpg"),
"CODE"=>$code_test,
"PROPERTY_VALUES"=> $PROP
);
$id = $element->Add($fields);
$fields = array(
'ID' => $id,
'QUANTITY_TRACE' => 'N',
'CAN_BUY_ZERO' => 'N',
'WEIGHT' => 0,
'MEASURE' => '5'
);
if (!$useStoreControl)
{
// выключен складской учет
$fields['QUANTITY'] = 1;
}
// создание товара
$result = CCatalogProduct::Add($fields);
// добавление цены
$priceId = CPrice::Add(array(
'PRODUCT_ID' => $id,
'CATALOG_GROUP_ID' => 1,
'PRICE' => 1000,
'CURRENCY' => 'RUB'
) );
if (!$priceId)
{
if ($ex = $APPLICATION->GetException())
echo 'Ошибка создания цены: ';
else
echo 'Неизвестная ошибка при создании цены';
unset($ex);
}
CPrice::SetBasePrice($id, 1000, 'RUB');
CModule::IncludeModule("iblock");
CModule::IncludeModule("catalog");
$useStoreControl = (string)\Bitrix\Main\Config\Option::get('catalog', 'default_use_store_control') === 'Y';
$params = Array(
"max_len" => "100", // обрезает символьный код до 100 символов
"change_case" => "L", // буквы преобразуются к нижнему регистру
"replace_space" => "-", // меняем пробелы на нижнее подчеркивание
"replace_other" => "_", // меняем левые символы на нижнее подчеркивание
"delete_repeat_replace" => "true", // удаляем повторяющиеся нижние подчеркивания
"use_google" => "false", // отключаем использование google
);
$code_test= CUtil::translit("Сварочная маска тест", "ru" , $params);
$PROP[128] = '11111'; // свойству с кодом 51 присваиваем значение 11111
$element = new CIBlockElement;
$fields = array(
'IBLOCK_ID' => 25,
"IBLOCK_SECTION_ID" => 157,
'NAME' => 'Маска тест',
"ACTIVE" => "Y", // активен
"PREVIEW_TEXT" => "тестовый текст для списка элементов",
"DETAIL_TEXT" => "тестовый текст для детального просмотра",
"DETAIL_PICTURE" => CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/upload/tmp/mask_test_full.jpg"),
"PREVIEW_PICTURE" => CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/upload/tmp/mask_test_krat.jpg"),
"CODE"=>$code_test,
"PROPERTY_VALUES"=> $PROP
);
$id = $element->Add($fields);
$fields = array(
'ID' => $id,
'QUANTITY_TRACE' => 'N',
'CAN_BUY_ZERO' => 'N',
'WEIGHT' => 0,
'MEASURE' => '5'
);
if (!$useStoreControl)
{
// выключен складской учет
$fields['QUANTITY'] = 1;
}
// создание товара
$result = CCatalogProduct::Add($fields);
// добавление цены
$priceId = CPrice::Add(array(
'PRODUCT_ID' => $id,
'CATALOG_GROUP_ID' => 1,
'PRICE' => 1000,
'CURRENCY' => 'RUB'
) );
if (!$priceId)
{
if ($ex = $APPLICATION->GetException())
echo 'Ошибка создания цены: ';
else
echo 'Неизвестная ошибка при создании цены';
unset($ex);
}
CPrice::SetBasePrice($id, 1000, 'RUB');