function findMedian($nums1, $nums2) {
$medainValue = 0;
$numsMerge = array_merge($nums1, $nums2);
sort($numsMerge, SORT_NUMERIC);
$numsCount = count($numsMerge);
if ($numsCount % 2 == 0) {
$firstMedianValue = $numsMerge[($numsCount - 1) / 2];
$secondMedianValue = $numsMerge[($numsCount - 1) / 2 + 1];
$medainValue = ($firstMedianValue + $secondMedianValue) / 2;
}
else {
$medainValue = intval($numsMerge[($numsCount - 1) / 2]);
}
return $medainValue;
}
public static function OnBeforeCrmDealUpdate(&$arFields)
{
// Если у сделки нет активности в виде дел или задач, то запрещаем ее изменять
global $APPLICATION, $USER;
$arActivities = [];
$rsActivities = \CCrmActivity::GetList(
['ID' => 'DESC'],
[
'BINDINGS' => [[
'OWNER_ID' => $arFields['ID'],
'OWNER_TYPE_ID' => 2 // \CCrmOwnerType::Deal не работает, потому что Битрикс
]]
],
false,
false,
['PROVIDER_TYPE_ID', 'ASSOCIATED_ENTITY_ID'] // 'ASSOCIATED_ENTITY_ID'
);
while ($activity = $rsActivities->Fetch()) {
if ($activity['PROVIDER_TYPE_ID'] == 'TODO' || $activity['PROVIDER_TYPE_ID'] == 'TASKS_TASK') {
$arActivities[] = $activity['ASSOCIATED_ENTITY_ID'];
}
}
if (empty($arActivities)) {
$message = 'Изменять или завершать сделку без дела или задачи нельзя!';
if (\CModule::IncludeModule('im')) {
$arMessageFields = array(
"TO_USER_ID" => $USER->GetID(),
"FROM_USER_ID" => 0,
"NOTIFY_TYPE" => IM_NOTIFY_SYSTEM,
"NOTIFY_MODULE" => "im",
"NOTIFY_TAG" => "",
"NOTIFY_EVENT" => "default",
"NOTIFY_MESSAGE" => $message,
);
\CIMNotify::Add($arMessageFields);
}
$arFields['RESULT_MESSAGE'] = $message;
$APPLICATION->ThrowException($message);
return false;
}
}
$iblockId = 1;
$iblockCode = 'catalog';
$productIds = [123, 1234, 1235];
$propertyCode = 'CML2_TRAITS';
// Получим ID свойства которое нам нужно по его символьному коду
$propertyId = \CIBlockProperty::GetByID("CML2_TRAITS", false, $iblockCode)->Fetch()['ID'];
// Далле уже получаем по ID свойства его значения.
$rsPropertyValues = \CIBlockElement::GetPropertyValues($iblockId, ['ID' => $productIds], true, ['ID' => $propertyId]);
while ($arPropertyValue = $rsPropertyValues->Fetch()){
foreach ($arPropertyValue['DESCRIPTION'][$propertyId] as $key => $value){
if ($value == 'Вес'){
// Ваш код...
}
if ($value == 'Объем'){
// Ваш код...
}
if ($value == 'Штрихкод'){
// Ваш код...
}
}
}