Вот код, где при создании у товаров указывается значение из свойства типа список. А как сделать для справочника?
[CODE]
function get_val_prop_list($IBLOCK_ID, $CODE_PROP, $VAL_PROP){
$property_enums = CIBlockPropertyEnum::GetList(Array(), Array("IBLOCK_ID"=>$IBLOCK_ID, "CODE"=>$CODE_PROP));
while($enum_fields = $property_enums->GetNext())
{
if($enum_fields["VALUE"] == $VAL_PROP){
return $enum_fields["ID"];
}
}
return false;
}
$el = new CIBlockElement;
//$PROP["Composition"] допустим это свойство типа справочник, хайлоад блок у него id = 5 и там куча значений
$PROP["BOX_DEPTH_CM"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "BOX_DEPTH_CM", $data[$_POST["count"]]["BOX_DEPTH_CM"]));
$PROP["BOX_HEIGHT_CM"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "BOX_HEIGHT_CM", $data[$_POST["count"]]["BOX_HEIGHT_CM"]));
$PROP["BOX_WIDTH_CM"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "BOX_WIDTH_CM", $data[$_POST["count"]]["BOX_WIDTH_CM"]));
$PROP["BREND"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "BREND", $data[$_POST["count"]]["BREND"]));
$PROP["DEPTH_CM"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "DEPTH_CM", $data[$_POST["count"]]["DEPTH_CM"]));
$PROP["DIAMETER_CM"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "DIAMETER_CM", $data[$_POST["count"]]["DIAMETER_CM"]));
$PROP["EQUIPMENT"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "EQUIPMENT", $data[$_POST["count"]]["EQUIPMENT"]));
$PROP["Escalation"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "Escalation", $data[$_POST["count"]]["Escalation"]));
$PROP["GUARANTEE"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "GUARANTEE", $data[$_POST["count"]]["GUARANTEE"]));
$PROP["HEATING"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "HEATING", $data[$_POST["count"]]["HEATING"]));
$PROP["LENGTH_CM"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "LENGTH_CM", $data[$_POST["count"]]["LENGTH_CM"]));
$PROP["MAIN_COLOR"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "MAIN_COLOR", $data[$_POST["count"]]["MAIN_COLOR"]));
$PROP["Manufacturer_or_country"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "Manufacturer_or_country", $data[$_POST["count"]]["Manufacturer_or_country"]));
$PROP["MATERIAL"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "MATERIAL", $data[$_POST["count"]]["MATERIAL"]));
$PROP["NUMBER_OF_MODES"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "NUMBER_OF_MODES", $data[$_POST["count"]]["NUMBER_OF_MODES"]));
$PROP["PACKAGING"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "PACKAGING", $data[$_POST["count"]]["PACKAGING"]));
$PROP["Power_supply"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "Power_supply", $data[$_POST["count"]]["Power_supply"]));
$PROP["Remote_control"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "Remote_control", $data[$_POST["count"]]["Remote_control"]));
$PROP["Rotation"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "Rotation", $data[$_POST["count"]]["Rotation"]));
$PROP["SAIT_PROIZVODITELYA"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "SAIT_PROIZVODITELYA", $data[$_POST["count"]]["SAIT_PROIZVODITELYA"]));
$PROP["Speed_vibration"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "Speed_vibration", $data[$_POST["count"]]["Speed_vibration"]));
$PROP["TIP_PITANIYA"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "TIP_PITANIYA", $data[$_POST["count"]]["TIP_PITANIYA"]));
$PROP["WATER_RESISTANT"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "WATER_RESISTANT", $data[$_POST["count"]]["WATER_RESISTANT"]));
$PROP["WEIGHT_GR"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "WEIGHT_GR", $data[$_POST["count"]]["WEIGHT_GR"]));
$PROP["ARKTIKUL"] = array("VALUE" => (int)get_val_prop_list($IBLOCK_ID, "ARKTIKUL", $data[$_POST["count"]]["ARKTIKUL"]));
//$PROP = [];
$arLoadProductArray = Array(
"MODIFIED_BY" => $USER->GetID(), // элемент изменен текущим пользователем
"IBLOCK_SECTION_ID" => $data[$_POST["count"]]["PATH_ID"], // элемент лежит в корне раздела
"IBLOCK_ID" => $IBLOCK_ID,
"PROPERTY_VALUES"=> $PROP,
"NAME" => $data[$_POST["count"]]["NAME"],
"CODE" => $data[$_POST["count"]]["CODE"],
"ACTIVE" => "Y", // активен
//"PREVIEW_PICTURE" => CFile::MakeFileArray($data[$_POST["count"]]["URL"]), //временно отключу, места нет на хостинге
//"DETAIL_PICTURE" => CFile::MakeFileArray($data[$_POST["count"]]["URL"]),
"DETAIL_TEXT" => $data[$_POST["count"]]["OPISANIE"]
);
if($PRODUCT_ID = $el->Add($arLoadProductArray, false, false , false)) {
//echo "New ID: " . $PRODUCT_ID . " COUNT = " . $_POST["count"];
}else {
//echo "Error: " . $el->LAST_ERROR;
}
[/CODE]