кому интересно решение, сделал такой обработчик в init.php
<?
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", array("СatalogAdd", "OnBeforeIBlockElementAdd"));
class СatalogAdd
{
function OnBeforeIBlockElementAdd (&$arFields)
{
CModule::IncludeModule("iblock");
$iblock_id = 6; // Указываем ID инфоблока
$arFilter = Array("IBLOCK_ID"=>$iblock_id,'PROPERTY_ARTICUL'=>(end(end($arFields['PROPERTY_VALUES']['13']))));
$res_count = CIBlockElement::GetList(Array(), $arFilter, Array(), false, Array()); // Получаем элементы инфоблока
if ($res_count>0 and (end(end($arFields['PROPERTY_VALUES']['13'])))!="" ) {
global $APPLICATION;
$APPLICATION->throwException('Такой артикул уже есть');
return false;
}
}
}
?>